任何人都知道可能是什么问题:
cvSmooth(origImage, grayImage1, CV_BLUR,3);
我收到错误:
error: cannot convert `cv::Mat' to `const CvArr*' for argument `1' to `void
cvSmooth(const CvArr*, CvArr*, int, int, int, double, double)'
如果我使用:
cvtColor(origImage, grayImage, CV_BGR2GRAY);
一切正常。捕获是从笔记本电脑摄像头(实时)进行的。
最佳答案
cv::Mat
是C++版本的OpenCV的新结构。 cvSmooth()
来自旧的C API。不要将C接口(interface)与C++混用!
我建议您花点时间阅读introduction。
另外,如果您检查opencv/modules/imgproc/src/smooth.cpp
,您会在新的C++接口(interface)上看到cv::boxFilter()
与cvSmooth(CV_BLUR)
等效。