// 以下の ifdef ブロックは DLL から簡単にエクスポートさせるマクロを作成する標準的な方法です。 // この DLL 内のすべてのファイルはコマンドラインで定義された MEIAK_EXPORTS シンボル // でコンパイルされます。このシンボルはこの DLL が使用するどのプロジェクト上でも未定義でなけ // ればなりません。この方法ではソースファイルにこのファイルを含むすべてのプロジェクトが DLL // からインポートされたものとして MEIAK_API 関数を参照し、そのためこの DLL はこのマク // ロで定義されたシンボルをエクスポートされたものとして参照します。 #ifdef MEIAK_EXPORTS #define MEIAK_API __declspec(dllexport) #else #define MEIAK_API __declspec(dllimport) #endif #define ERRRM1 -1 //エラーコード内部関数エラー #define ERRR0 0 //エラーコード正常 #define ERRR1 1 //エラーコードid_im.tmp読みエラー #define ERRR2 2 //エラーコードid_im.tmp書きエラー #define ERRR3 3 //エラーコードid_inf.tmp読みエラー #define ERRR4 4 //エラーコードid_inf.tmp書きエラー #define ERRR5 5 //エラーコードその他の処理失敗 #define ERRR6 6 //エラーコードundo作成失敗 #define FLPH 256 //パス&ファイル名の最大長 #define CLCD 256 //最大階調 #define IOTM 15 //入出力時の文字数 #define CSIO 8 //csv読み桁数 #define IDM 8 //最大id数 #define MXY 1024 //mx及びmyの最大値 #define CLB 0 //黒のカラーコード #define CLW 255 //白のカラーコード #define HCLCD 127.5 //0-255における最大階調の半分 #define FLPI 1800 //π分割のにおける、最大分割数 #define KMX 1500 //配列的極座標表現の∂最大値 #define MPI 180 //180度 #define KSF 750 //極座標シフト値 //-750≒-724.0773439=-√2*1024(mx)/2=極座標最大値 //750≒724.0773439=√2*1024(my)/2=極座標最大値 #define PI 3.14159265358979 //π #define CR 13 //バイナリリターンコードCR #define LF 10 //バイナリリターンコードLF #define DD 44 //バイナリ,コード #define Z0 48 //バイナリ0コード //meia kernel DLL //み〜あカーネルライブラリ extern int rofim_lo(int mx, int my, double id_mon[]);//オーバー値補正処理ローカル版 extern int ccmatotxt(int v);//文字コード>テキスト変換 //ファイル開く MEIAK_API int __stdcall Openk(char fname[], int mx, int my, double id_mon[]); //ファイル開く MEIAK_API int __stdcall Opencsvk(char fname[], int mx, int my, double id_mon[]); //ファイル保存 MEIAK_API int __stdcall Savek(char fname[], int mx, int my, double id_mon[]); //csvファイル保存 //対応読み込み8桁まで MEIAK_API int __stdcall Savecsvk(char fname[], int mx, int my, double id_mon[]); //コントラスト改善 MEIAK_API int __stdcall Conk(int stpix, int enpix, int mx, int my, double id_mon[]); //メディアンフィルタ MEIAK_API int __stdcall Medk(int mx, int my, double id_mon[]); //差分処理 //id_mon1 - id_mon2 をid_mon1に返す。 //使用画像のmx,myは全て同一の必要あり。 MEIAK_API int __stdcall Dpk(int mx, int my, double id_mon1[], double id_mon2[]); //2値化 //thrはしきい値。 MEIAK_API int __stdcall Segmk(int thr, int mx, int my, double id_mon[]); //オーバー値補正 //256階調を超えたものやマイナス値を補正する処理。 MEIAK_API int __stdcall Rofk(int mx, int my, double id_mon[]); //エッジ //エッジ処理。そのまんま。 MEIAK_API int __stdcall Edgek(int mx, int my, double id_mon[]); //ダストマーダー //ゴミ消し。2値化画像に MEIAK_API int __stdcall Dmk(int mx, int my, double id_mon[]); //反転 //そのまんま。 MEIAK_API int __stdcall Rdk(int mx, int my, double id_mon[]); //ハフ変換 MEIAK_API int __stdcall Hcck(int mx, int hfx1, int hfy1, int hfx2, int hfy2, int *mfig, double pif, double *la, double *lb, double id_mon[], double hf[]); //矩形保存 MEIAK_API int __stdcall Savertk(char fname[], int mx, int hfx1, int hfy1, int hfx2, int hfy2, double id_mon[]); //左右上下反転 MEIAK_API int __stdcall Turnk(int hec, int mx, int my, double id_mon[], double id_t[]);