【发布时间】:2019-03-26 09:48:25
【问题描述】:
我想将图像的一部分加载到另一个图像中。有几种简单的方法可以做到这一点,例如cv::Mat OutImage = Image(cv::Rect(7,47,1912,980)),但是结果图像太大例如:
我得到了一张 1920 x 1024 像素的图像。我想从中剪下一个 cv:Rect(7,47,1912,980) 。我建议,生成的图像的大小为 (1912 - 7 = 1905) x (980 - 47 = 933) 像素,但它有 1912 x 980。看来,Opencv 只是在右下侧切割并保持左上区域。
图像的尺寸很重要,因为在下一步中我想执行减法,这仅在 Mat 对象具有相同尺寸时才有效。我也不想用自己设计的循环,因为性能很重要。
有什么想法吗?
问候, 一月
【问题讨论】:
-
它是
cv::Rect(x, y, width, height),因此您得到的图像是1912 x 980。你有这方面的工作代码吗?因为 (47 + 980) > 1024,这应该会导致某种断言!? -
你是对的。我得到了正确的而不是宽度和底部而不是高度:-) 谢谢。我会试试的。