我只是想了解OpenCV,并且我在x64机器上运行。错误将cv :: mat转换为cv :: arr
我在VS2015上使用OpenCV 3.2.0之前,我尝试按照步骤 从凯尔豪恩斯洛在YouTube上的步骤教程,但我得到错误。
然后我重装使用VS2013,但我仍然有错误象下面这样:
Error 1 error C2664: 'void cvShowImage(const char *,const CvArr *)' : cannot convert argument 2 from 'cv::Mat' to 'const CvArr *' Error 2 IntelliSense: no suitable conversion function from "cv::Mat" to "const CvArr *" exists
我在下面的链接已经看到,但仍然无法正常工作对我来说
我也检查以下链接,但我很困惑
我的代码如下图所示:
#include<iostream> #include<opencv\cv.h> #include<opencv2\highgui\highgui.hpp> #include<opencv2\videoio.hpp> #include<opencv2\core.hpp> #include<opencv2\imgproc\imgproc.hpp> using namespace cv; int main() { Mat image; VideoCapture cap; cap.open(0); cvNamedWindow("window", 1); while (true) { cap >> image; cvShowImage("window", image); cvWaitKey(33); } }
请帮我在这,非常感谢。
对不起,我删除更新,因为原来的问题已经解决了
千恩万谢
'CvMat'接受'Mat'作为构造一个ARG这样:CvMat中'imageMat(图像);'然后通过这个地址到'cvShowImage':''cvShowImage(“window”,&imageMat);',实际上你还需要传递尺寸和dtype以便'CvMat imageMat(height,width,dtype,image);' – EdChum
**不要使用过时的C api!**你可以参考[documentation](http://docs.opencv。org/master/d8/dfe/classcv_1_1VideoCapture.html#a57c0e81e83e60f36c83027dc2a188e80)举例说明如何正确执行此操作 – Miki
如果原始问题已解决并且您还有其他问题,请打开一个新问题 – slawekwin