ビデオの参照画像(.avi)があるので、画像の幅と高さはビデオの幅と高さと同じでなければなりません。opencvがIplImage *の幅と高さを正しく報告しないのはなぜですか?
(私のビデオがCvCapture*
であり、私の画像がIplImage*
ある)
幅1280であり、高さは960です。
しかし、私はOpenCVに、ピクセルの座標が特定の矩形内にあるかどうかを話したところ、何かをします。画像のすべての幅は、その長方形の幅です。
const int Y1 = 430, Y2 = 730, X1 = 0, X2 = 1279 ;
for (int i = Y1; i <= Y2; i++)
for (int j = X1; j <= X2; j++)
CV_IMAGE_ELEM(frame_BGR, uchar, i, j) = 255;
しかし、ページの幅の1/5近くしか白くなりません。その後、私はX2 = 3000
です。その後、画像の幅はすべて白くなり、変更すると、X2 = 10000
はコードがSEGMENTATION FAULT
と報告されませんでした。
なぜ幅報告が正しく機能していないのですか?
私はUbuntu - g ++とWindows 7 - visual studio 2010の両方で動作させています。私の解像度は高いと思います。私はビデオがNokia 5800携帯電話で撮影されていることを知っています。それは私のためにとても重要ですので、もし私が非常に具体的なら私は言い訳!
画像がRGBで、CV_IMAGE_ELEMが正しく表示されていないように見えます。そのため、白く設定されている画像の3分の1しか表示されません。 –
さらに別の問題があります:if(dots [i] .x> = x1 && dots [i] .x <= x2 && dots [i] .y> = y1 && dots [i] .y < = y2) 'それはまだ幅の1/5を考慮する!ドットは 'ベクトル'です。何が問題ですか? –