我正在尝试减少图像的眩光和光反射,然后继续进行更多的图像处理。我在网上找到了一段代码,据说可以在一个范围内选择像素,但是当我插入我的算法时,它给了我一个错误。我已经验证我的图像数据不是NULL
,所以这不会导致问题。为什么我会遇到断言失败?
错误:
OpenCV 错误:cvGetSize 中的错误参数(数组应为 CvMat 或 IplImage),文件 /Users/user/slave/builds/ios_framework/src/opencv/modules/core/src/array.cpp,第 1238 行 libc++abi.dylib : 终止调用抛出异常。
代码:
cv::Mat eye1 = [self cvMatFromUIImage:eye];
cv::Mat eye2;
IplImage imgHSV = *cvCreateImage(cvGetSize(&eye1), 8, 3); //Assertion fails here
IplImage imgThreshold = *cvCreateImage(cvGetSize(&imgHSV), 8, 1);
cvInRangeS(&imgHSV, cvScalar(0, 0, 90, 0), cvScalar(0, 0, 100, 0) , &imgThreshold);
cv::Mat eye3(&imgThreshold);
原始代码不包含*
and&
符号,但 Xcode 建议我放置它们,但该功能仍然不起作用。