我只是想了解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