求助,opencv进行图像部分区域截取遇到了问题

Chaos_Yeats 2017-07-05 09:21:56
我本来要做的是使用Mat 直接生成一个图像矩阵,该矩阵是和另外一个图像公用内存的那种代码如下:Mat cutImage(srcImage,Rect(0,0,410,231));源图像的大小就是(410,231)。
在这种情况我都是能够运行出结果的:



但是,我在截取一部分时居然出问题了,代码如下:Mat cutImage(srcImage,Rect(170,24,256,110));
而实际上我测试了,下就像碰运气一样,数字稍微大点就会出问题,然而实际上并没有超过图片的维度,而
Mat cutImage(srcImage,Rect(30,30,200,200));也是可以的,再大点就出问题了



,之后就不怎么行了。感觉不知道怎么下手
...全文
1100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38242442 2018-03-17
  • 打赏
  • 举报
回复
请问下如果是摄像头采集的实时图像要怎么提取ROI?
赵4老师 2017-07-06
  • 打赏
  • 举报
回复
小心驶得万年船。 代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
robertbo 2017-07-06
  • 打赏
  • 举报
回复
Mat cutImage(srcImage,Rect(170,24,256,110)); 后面两个参数是宽度和高度值,不是右下角坐标,明显 170+256=426超过了原始图片的大小。
Chaos_Yeats 2017-07-06
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
小心驶得万年船。 代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
谢谢指教
Chaos_Yeats 2017-07-06
  • 打赏
  • 举报
回复
引用 1 楼 robertbo 的回复:
Mat cutImage(srcImage,Rect(170,24,256,110)); 后面两个参数是宽度和高度值,不是右下角坐标,明显 170+256=426超过了原始图片的大小。
谢谢你的回答,现在回想下羞愧,看API看的不耐烦,看了没几下就自我感觉是这样了

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧