簡單瞭解C++常見程式設計問題解決方案
電腦配置:window10,64位作業系統,基於x64的處理器,Microsoft Visual Studio Community 2019Version 16.4.5
問題1:Unhandled exception at 0x00007FFDB39AA839 in TesseractLACadd1.exe: Microsoft C++ exception: boost::filesystem::filesystem_error at memory location 0x000000EAFABFEED0.
解決方案:我只能說,這個的錯誤原因千姿百態。因為至今為止我遇到了兩次類似的提示錯誤,每次的解決方案都不相同,所以還要具體情況具體分析。
第一次:第一次遇到這個錯誤提示是因為編譯的時候遇到中文,這裡我是在讀取檔案的時候讀取的是中文名稱的檔案所以出錯,所以我認為目前最好的解決方案就是把中文名稱改成英文。
第二次:在我用 opencv 生成了一個三通道的全零畫素圖片,然後再這個圖片上找了一個 ROI 區域,然後把另外一張二維圖片的內容 copyTo 這個生成圖片的時候,因為維度的不同而造成這個提示錯誤。我發現雖然 Error List 裡面看不到錯誤提示,但是在控制檯上我發現了錯誤提示,進而才明白錯誤的原因,如下圖所示。所以大家可以注意下,雖然 Error List 沒有錯誤提示,但是控制檯可能有,所以大家可以去控制檯看下是否有錯誤原因然後再修改。
問題2:Unhandled exception at 0x00007FFA5514A859 in TesseractLACadd1.exe: Microsoft C++ exception: cv::Exception at memory location 0x000000D3592FD560.
解決方案:問題1已經說了,當出現類似這種問題的時候,要去看控制檯的提示資訊,我的控制檯出現以下資訊:
in __cdecl cv::impl::`anonymous-namespace'::CvtHelper<struct cv::impl::`anonymous namespace'::Set<3,4,-1>,struct cv::impl::A0xe090d7c8::Set<3,struct cv::impl::A0xe090d7c8::Set<0,2,5>,2>::CvtHelper(const class cv::debug_build_guard::_InputArray &,const class cv::debug_build_guard::_OutputArray &,int),file D:\software\vcpkg\buildtrees\opencv4\src\4.1.1-fb9e10326a\modules\imgproc\src\color.simd_helpers.hpp,line 92
因為我運行了以下程式碼:
Mat imageCanva(imageWidth,imageHeight,CV_8UC2,Scalar(0,0)); namedWindow("canva",WINDOW_FREERATIO); imshow("canva",imageCanva); waitKey(0);
原因是因為我要顯示 imageCanva ,但是卻把它設定為CV_8UC2,所以解決方案就是 CV_8UC2 改成 CV_8UC3 問題就解決啦。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。