0

しきい値処理画像を作成する関数を作成しました。入力は で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。しかし、メイン関数に入れると機能します。誰でも私を助けることができますか?

4

1 に答える 1