Это код, который я нашел для вставки одного изображения в другое https://gist.github.com/uchidama/41d1c0a068f1d36dec2706715a7f17aa
Необходимо изменить его, чтобы получить изображение:
img = cv2.imread("../Data/cropped_images/6.png")
width,height = (768 , 1024)
blank_image = cv2.imread("../Data/LabeledData/Annotation/A_0030001930.jpg")
print(blank_image.shape)
print(img.shape)
x_offset = int((width - img.shape[1])/2)
y_offset = int((height - img.shape[0])/2)
print(x_offset)
print(y_offset)
print(img.shape[0])
print(img.shape[1])
blank_image[ y_offset:y_offset+img.shape[0], x_offset:x_offset+img.shape[1]] = img
plt.imshow(cv2.cvtColor(blank_image, cv2.COLOR_BGR2RGB))
plt.show()
Но я продолжаю получать эту ошибку:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-172-1620eee28625> in <module>
12 print(img.shape[0])
13 print(img.shape[1])
---> 14 blank_image[ y_offset:y_offset+img.shape[0], x_offset:x_offset+img.shape[1]] = img
15
16 plt.imshow(cv2.cvtColor(blank_image, cv2.COLOR_BGR2RGB))
ValueError: could not broadcast input array from shape (250,500,3) into shape (0,366,3)
Я не уверен, как решить эту проблему.
Редактировать:
Это формы, которые я получил
(250, 500, 3)
(250, 500, 3)
134
387
250
500