您好,我不知道我是否做错了什么,但是当我执行以下操作时:
IplImage *testimage;
testimage = cvCreateImage(cvSize(10,10),IPL_DEPTH_8U,1);
cvThreshold(testimage,testimage,127,127,CV_THRESH_TRUNC);
一切正常,然后当我尝试使用无符号短值时:
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);
它不再崩溃了
最佳答案
它没有崩溃。它引发了异常,并且由于未捕获到异常,因此程序正在中止。
OpenCV阈值处理不支持16U。
The supported ones are: 8U, 16S and 32F
关于c++ - Opencv cvThreshold错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11506174/