OpenCV故障彙總
以下是個人使用opencv時遇到的故障和解決辦法,分享食用
1.問題:無法啓動此程序,因爲計算機中丟失opencv_world310.dll
說明:系統文件夾丟失庫文件,原因可能是系統重裝之類,C盤裏的系統文件覆蓋了
解決:將bin目錄(我的是 G:\OpenCV\build\x64\vc12\bin)中的3個dll文件複製在(C:\Windows\System32)或者(C:\Windows\SysWOW64)中。
2.問題:cvtColor中斷
說明:cvtColor轉換灰度圖時程序中斷報錯
解決:讀取圖片的問題,將圖片拷貝到項目目錄,再把imread參數直接寫讀取文件名,下面是例子:
//--1.讀入圖片
cv::Mat image = cv::imread("sample.jpg");
//--2.轉換灰度圖
cv::Mat gray;
cv::cvtColor(image, gray, CV_BGR2GRAY);
3.問題:‘fopen’: This function or variable may be unsafe
說明:在調用圖像處理函數,或者文字處理函數報錯,這是因爲許多函數、 成員函數,模板函數和 Visual Studio 中的庫中的全局變量標記爲棄用。 這些函數被棄用,因爲它們可能具有不同的首選的名稱,可能不安全或具有更加安全的變體,或可能已過時。 許多棄用消息包括不推薦使用的函數或全局變量的建議的替換。
解決:在屬性頁面中找到“C/C++"——”預處理器“,按下圖操作單擊箭頭指向處的按鈕在下面的編輯窗口中添加一句命令:_CRT_SECURE_NO_WARNINGS
添加完成後應用並退出。
4.問題:findContours中斷
說明:findContours尋找輪廓時程序中斷報錯
解決:對應vs版本更新opencv版本,我的是vs2015,需要配置opencv3.1.0以上的版本,後來選了vs2015+opencv3.2.0,挺穩的
5.問題:返回值爲 -1073740777 (0xc0000417)
說明:VS的Debug下使用findcontours函數自動退出報錯
解決:解決方案配置改成Release