我用的是opencv2.4.9+VS2012,在进行图像腐蚀操作时出现了如下错误

问题描述:

我用的是opencv2.4.9+VS2012,在进行图像腐蚀操作时irst-chance exception at 0x75BFB727 in ConsoleApplication4.exe: Microsoft C++ exception: cv::Exception at memory location 0x0021F51C.
Unhandled exception at at 0x75BFB727 in ConsoleApplication4.exe: Microsoft C++ exception: cv::Exception at memory location 0x0021F51C.
程序“[2000] ConsoleApplication4.exe”已退出,返回值为 0 (0x0)。
附程序:

#include
#include

//-----------------------------------【命名空间声明部分】---------------------------------------
// 描述:包含程序所使用的命名空间
//-----------------------------------------------------------------------------------------------

using namespace cv;

//-----------------------------------【main( )函数】--------------------------------------------
// 描述:控制台应用程序的入口函数,我们的程序从这里开始
//-----------------------------------------------------------------------------------------------
int main( )
{
//载入原图

Mat srcImage = imread("1.jpg");
//显示原图
imshow("【原图】腐蚀操作", srcImage);
//进行腐蚀操作
Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
Mat dstImage;
erode(srcImage, dstImage, element);
//显示效果图
imshow("【效果图】腐蚀操作", dstImage);
waitKey(0);

return 0;

}

两个建议:
a. 检查一下1.jpg是不是读取成功了

     if (!srcImg.data)
     { 
            std::cout << "read image error!" <<std::endl;; 
            return -1;
        }

b. 还不行把中文改成英文试试,字符编码也可能有问题

我打开其他功能也是这个毛病,例如显示图片、读视频等等