转载:opencv错误rect错误

Opencv学习笔记(图片融合、图片显示、图片存储)

转载:opencv错误rect错误_第1张图片

下面是我的源代码
图片放在源文件目录下了
运行的时候就出错不知道怎么解决,opencv中的例子也时不时出现这种错误

#include "pch.h"
#include 
#include 
#include 
using namespace cv;

int main()
{
Mat apple = imread(“apple.hpg”);
namedWindow("[1]fruit");
imshow("[1]fruit", apple);

Mat image = imread("baboon.jpg", 199);
Mat logo = imread("basketball.jpg");

namedWindow("[2]");
imshow("[2]", image);

namedWindow("[3]");
imshow("[3]", logo);

Mat imageROI;
imageROI = image(Rect(800, 350, logo.cols, logo.rows));

addWeighted(imageROI, 0.5, logo, 0.3, 0., imageROI);

namedWindow("[4]");
imshow("[4]", image);

imwrite("imwrite.jpg", image);

waitKey();

return 0;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

问题解决了:
1.文件名字输出出错
2.解决1之后出现错误,断点逐步分析后

imageROI = image(Rect(800, 350, logo.cols, logo.rows));

   
   
   
   
  • 1

这里出错,想不懂
换了一个方法

imageROI = image(Range(350,350+logo.rows),Range(800,800+logo.cols));

   
   
   
   
  • 1

上述ROI需要调整图片大小,imageROI = image(Range(350, 350 + logo.rows), Range(800, 800 + logo.cols))
这段就是取X方向350至830(350+480),y方向取800至1440(800+640)

若是超出图片区域则会报错
故需要调整参数或者换图片

随手改了一个地方

Mat image = imread("1.jpg", 1);
	Mat logo = imread("HappyFish.jpg");

   
   
   
   
  • 1
  • 2

我用的是VS2017版本,与学习书目出现版本差别带来的问题
然后没有报错了

总结:
1要看报错条码
2要看懂代码
3要考虑版本
最后贴上完整的代码

#include "pch.h"
#include 
#include 
#include 
using namespace cv;

int main()
{
Mat apple = imread(“apple.jpg”);
namedWindow("[1]fruit");
imshow("[1]fruit", apple);

Mat image = imread("1.jpg", 1);
Mat logo = imread("HappyFish.jpg");

namedWindow("[2]");
imshow("[2]", image);

namedWindow("[3]");
imshow("[3]", logo);

Mat imageROI;
imageROI = image(Range(20,20+logo.rows),Range(30,30+logo.cols));

addWeighted(imageROI, 0.5, logo, 0.3, 0., imageROI);

namedWindow("[4]");
imshow("[4]", image);

imwrite("imwrite.jpg", image);

waitKey(6000);

return 0;

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
                                
原创文章 18获赞 0访问量 1839

你可能感兴趣的:(opencv,opencv,c++)