0x00007FF872444FD9 处(位于 Project1.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x000000F11317EFB8 处。
解决方法
-
将读取文件的路径改为双“ \"
Mat image = imread("D:\\opencv_learn\\Project1\\tu1.jpg"); Mat logo = imread("D:\\opencv_learn\\Project1\\tu2.jpg");
或将图片放置在工程文件下下方,并直接读取
-
查看链接器-输入-附加依赖,Debug x64应该为opencv_world***d.lib,查看一下是否填写错误
-
查看是否有重复的窗口名,检查下
imshow()
是不是写错了(经过实验,不同窗口读取相同图片不会产生bug)//输入后显示 namedWindow("tupian1"); imshow("tupian1", image); namedWindow("tupian2"); imshow("tupian2", logo);
-
图片颜色变换问题、图片通道数问题、图片尺寸问题,我的问题如下面代码所示,将image放在logo的左下角,但由于image的像素比logo大,大的图片不可能作为小的图片的一部分,所以产生了本次错误,再将image和logo切换位置后,可以成功运行。
大家在写OPENCV的代码时,也要注意Rect后面初始位置的两个参数,如果
x+logo.cols
比image.cols
大,就有可能产生本错误。
//定义一个Mat类型,用于存放图像的ROI
Mat imageROI;
//方法一,利用Rect设置ROI位置
imageROI = logo(Rect(0, 0, image.cols, image.rows));
//方法二
//imageROI=image(Range(350,350+logo.rows),Range(00,800+logo.cols));
//将logo加到原图上
addWeighted(imageROI, 0.5, image, 0.3, 0., imageROI);
namedWindow("hunhe");
imshow("hunhe", image);
//imwrite("apicture.jpg", image);
waitKey();
destroyAllWindows();
return 0;
我们可以看到tupian1比tupian2大文章来源:https://www.toymoban.com/news/detail-499597.html
文章来源地址https://www.toymoban.com/news/detail-499597.html
到了这里,关于0x00007FF872444FD9 处(位于 Project1.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x000000F11的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!