Visual Studio OpenCV错误C2664

时间:2015-04-09 09:50:21

标签: c++ opencv visual-studio-2013

error C2664: 'double cv::threshold(cv::InputArray,cv::OutputArray,double,double,int)' : cannot convert argument 1 from 'IplImage *' to 'cv::InputArray'

如何解决此类错误?

1 个答案:

答案 0 :(得分:1)

您正在混合使用OpenCV的C和C ++ API。由于您使用的是C ++,因此请使用cv::Mat代替IplImage *,这也是推荐的。

如果您必须使用IplImage *,请在致电cv::Mat之前先将其转换为cv::threshold

IplImage *ipl_img;
cv::Mat mat_img(ipl_img);

然后,使用mat_img传入cv::threshold