2024-10-04 07:36:33 发布
网友
是否可以使用OpenCv(JavaCv)将图像放入图像中。 例如,我有一个1000x1000的图像和一个100x100的图像。在位置600x600,我想把较小的图像放在较大的图像中。在
假设蓝色框是1000x1000 IplImage,红色框是100x100 IplImage。 可以把红盒子放在蓝色盒子里吗。最好是计算效率较高,因为它必须实时工作。在
提前还款
这是用Python编写的,但是转换成Java将非常容易。使用GetSubRect(),和Copy()。GetSubRect()返回一个矩形的感兴趣的子数组(指定左上角的兴趣点,以及宽度和高度)。然后使用Copy()复制图像。在
GetSubRect()
Copy()
import cv blue = cv.LoadImage("blue.jpg") red = cv.LoadImage("red.jpg") sub = cv.GetSubRect(blue, (100, 100, 50, 50)) cv.Copy(red,sub) cv.ShowImage('blue_red', blue) cv.WaitKey(0)
或者,正如karlphillip建议的那样,您可以使用SetImageROI()指定“感兴趣区域”,并执行相同的操作:
SetImageROI()
重置ROI非常重要,ResetImageROI,否则您将只显示/保存ROI,而不是整个图像。在
ResetImageROI
演示输出:
蓝色:红色:组合:
这是用Python编写的,但是转换成Java将非常容易。使用
GetSubRect()
,和Copy()
。GetSubRect()
返回一个矩形的感兴趣的子数组(指定左上角的兴趣点,以及宽度和高度)。然后使用Copy()
复制图像。在或者,正如karlphillip建议的那样,您可以使用
^{pr2}$SetImageROI()
指定“感兴趣区域”,并执行相同的操作:重置ROI非常重要,
ResetImageROI
,否则您将只显示/保存ROI,而不是整个图像。在演示输出:
蓝色:红色:组合:
相关问题 更多 >
编程相关推荐