电脑配置:window10, 64位操作系统,基于x64的处理器,Microsoft Visual Studio Community 2019 Version 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,4,-1>,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:softwarevcpkguildtreesopencv4src4.1.1-fb9e10326amodulesimgprocsrccolor.simd_helpers.hpp, line 92
因为我运行了以下代码:
1 Mat imageCanva(imageWidth, imageHeight, CV_8UC2, Scalar(0, 0, 0));
2 namedWindow("canva", WINDOW_FREERATIO);
3 imshow("canva", imageCanva);
4 waitKey(0);
原因是因为我要显示 imageCanva ,但是却把它设置为CV_8UC2,所以解决方案就是 CV_8UC2 改成 CV_8UC3 问题就解决啦。
问题3: