OpenCV中出現“Microsoft C++ 異常: cv::Exception,位於內存位置 0x0000005C8ECFFA80 處。”的異常


對於OpenCV的安裝 要感謝網友空晴拜小白提供的教程

鏈接如下:

https://blog.csdn.net/sinat_36264666/article/details/73135823?ref=myread#reply

教程寫的十分詳細 截圖什么的也很好

2 問題描述
今天在安裝和測試OpenCV的時候遇到了這樣的問題 測試代碼如下

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

int main()
{
Mat image = imread("D:\Test\2.jpg"); //存放自己圖像的路徑
imshow("顯示圖像", image);
waitKey(0);
return 0;
}
其中圖片文件的路徑是用Windows文件資源管理器里面的“復制路徑”功能復制過來的

然后運行 就出現了下面的異常

其主要內容是

0x00007FFA4DB94008 處(位於 GrouprectanglesTest.exe 中)有未經處理的異常: Microsoft C++ 異常: cv::Exception,位於內存位置 0x000000B7BF3FF390 處。
我先以為是VS項目相關設置的問題 實際上不是

后來想到可能跟文件路徑的書寫方式有關 因為我記得在C++里面文件夾的分隔符好像是兩個斜杠“\\”

3 解決方案

於是我看了一下相關資料 

果然 C++里面書寫文件路徑時的確需要兩個斜杠“\\”進行分隔

於是把含有文件路徑的語句改為

Mat image = imread("D:\\Test\\2.jpg");

就是將單個斜杠“\”改成了兩個斜杠“\\”

然后進行測試 得到下面的結果

這樣就成功啦!

首要任務 
第一步:檢查環境配置,當然,我這里不多說,我是win10+vs2015 
看了一下,重點檢查連接器那部分,並沒有錯誤,后來一想,我前面程序運行的沒毛病,也沒調用什么東東,環境變量不會自己修改的呀!

第二步 
:有關圖片路徑問題 
各種用”/”,不能用“\”之類的,那就改吧,動手改了一下,沒解決,誒呀,這個之前讀的也沒問題,這個是會引起類似的問題,但是我把圖片放在工程里,用的不是絕對路徑,所以不影響。

第三步 
:圖片格式 
這個問題是說可能把格式寫成了”XXX.png.png”或者"XXX.jpg.jpg"就是本身已經有擴展名了,但是隱藏了,結果你又手動添加了一次,把它當作了文件名,這種錯誤絕對不可能,也是導致錯誤的。 


原文:https://blog.csdn.net/songyuc/article/details/79727172




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM