我是OpenCV和Python的新手,最近我一直在尝试学习OpenCV。我目前处于这种情况下,无法弄清楚发生了什么。我正在尝试复制图像的某个区域并将其放置在图像的另一个位置。
代码如下:
roi = img[50:100, 50:100] #shows a region of an image
img[0:50, 0:50] = roi
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
每当我运行代码时,我总会得到一个ValueError: could not broadcast input array from shape (39,50,3) into shape (50,50,3)
,但是当我将部分roi = img[50:100, 50:100]
更改为roi = img[39:100, 50:100]
时,它将起作用。从我一直在观看的教程中可以看出,我应该将x2减到x1,将y2减到y1,以使此操作有效,它等于[0:50,0:50],但我不知道它是怎么做的。工作。