しきい値処理画像を作成する関数を作成しました。入力は でimg
、出力はout
です。これは私のコードです:
void *tresholdImage (CvMat *img, CvMat *out) {
for (int i = 0; i < img->rows; i++)
{
for (int j = 0; j < img->cols; j++)
{
double x;
if (cvGetReal2D(img, i, j) < 128) x = 0; else x = 255;
cvSetReal2D(out, i, j, x);
}
}
}
この関数を呼び出すとき、 の画像は の画像out
と同じサイズである必要がありimg
ます。out
のサイズを のサイズと同じに自動的に設定したいimg
。これを最初の前に追加しますfor
:
out = cvCreateMat(img->rows, img->cols, img->type);
しかし、うまくいきません。コンパイラは で不良フラグを言いましたCvGetMat
。しかし、メイン関数に入れると機能します。誰でも私を助けることができますか?