我在Windows 7 x64 SP1中使用带有OpenCV 2.4.x库的Visual C ++ 2013 Update 4开发图像处理。
对于项目,我使用两个配置,一个用于x86,另一个用于x64。 在x86配置上,它工作正常。但是,在x64上,它总是在行生成异常:
Mat dst = imdecode(buff, CV_LOAD_IMAGE_UNCHANGED);
第一次调用此行时,输出窗口将打印:
Unhandled exception at 0xDDDDDDDDDDDDDDDD in AppClient.exe: Microsoft C++ exception: cv::Exception at memory location 0xCCCCCCCCCCCCCCCC
下次调用它时,输出为:
First-chance exception at 0xDDDDDDDDDDDDDDDD in AppClient.exe: Microsoft C++ exception: cv::Exception at memory location 0xCCCCCCCCCCCCCCCC.
我在原创项目中尝试这个:
imencode(".jpg", src, buff, vector<int>{CV_IMWRITE_JPEG_QUALITY, 100});
imdecode(buff, CV_LOAD_IMAGE_UNCHANGED);
并调试。在imencode之后,buff向量是可以的,但它如上所述给出了异常。
我还尝试将这些行复制到示例项目,也是原始项目的属性表,并使用相同的输入。它适用于x86和x64。
我已经尝试过OpenCV 2.4.10,2.4.11,调试和发布lib。问题是一样的!
任何帮助! 谢谢!