0

こんにちは、何か間違っているかどうかはわかりませんが、次のことを行うと:

IplImage *testimage;
testimage = cvCreateImage(cvSize(10,10),IPL_DEPTH_8U,1);
cvThreshold(testimage,testimage,127,127,CV_THRESH_TRUNC);

unsigned short 値を使用しようとすると、すべて正常に動作します。

IplImage *testimage;
testimage = cvCreateImage(cvSize(10,10),IPL_DEPTH_16U,1);
cvThreshold(testimage,testimage,127,127,CV_THRESH_TRUNC);

私のプログラムはクラッシュします...私はopencv 2.4.2を使用しています。これはおそらくopencvのバグであると思います。どういうわけか、次のことを試してみると:

IplImage *testimage;
testimage = cvCreateImage(cvSize(10,10),IPL_DEPTH_16S,1);
cvThreshold(testimage,testimage,127,127,CV_THRESH_TRUNC);

もうクラッシュしません

4

2 に答える 2

2

クラッシュしていません。例外をスローしていますが、それをキャッチしていないため、プログラムは中止されています。OpenCV しきい値処理は 16U をサポートしていません。

The supported ones are: 8U, 16S and 32F
于 2012-07-16T14:17:27.303 に答える
1

関数thresholdについては、OpenCV のドキュメントを参照してください。最初のパラメーターは 8 ビットまたは 32 ビット イメージ
です PS クラッシュ メッセージに、クラッシュの理由が表示されます。

于 2012-07-16T14:18:56.037 に答える