我正在学习如何使用OpenCV / Numpy来编辑图像,我正在学习如何复制图像的一部分并将其移动到另一部分。
我的代码出现以下错误:
ValueError:无法将形状(260,260,3)的输入数组广播为形状(310,310,3)
def copy_part_of_image(image_source):
x1 = 280
y1 = 540
x2 = 330
y2 = 590
global edited_image, ball
rect_to_copy= image_source[x1:y1, x2:y2]
image_source[x1-(x2-x1):y1, x1:y2] = rect_to_copy #273:533, 100:360
edited_image = image_source
我的想法是拍摄我图像中的矩形部分,然后将其向左移动,使其“备份”到我剪切的原始部分。
据我所知,我的新形状大小相同([x1-(x2-x1):y1, x1:y2]
)。这个错误究竟意味着什么?
如果我使用了我注释掉的x / y,它可以工作(尽管稍微偏离)。
例如,以下是部分图片的屏幕截图。我正在尝试复制粉红色框中的内容,并将其向左移动相同的宽度。