Я пытался скопировать прямоугольную случайную область с шириной и высотой в [128, 1024], но иногда я сталкиваюсь с
---> 29 I_rcv[a:b, c:d] = dnr_patch
30 pyplot.imshow(I_rcv)
ValueError: could not broadcast input array from shape (425,91,3) into shape (959,91,3)
Вот мой код
rcv = "path/to/image/RCV.JPG"
dnr_1 = "path/to/image/DNR.JPG"
I_rcv = cv2.imread(rcv)
I_dnr = cv2.imread(dnr_1)
a = random.randint(0, min(I_dnr.shape[0] - 1024, I_rcv.shape[0] - 1024))
b = a + random.randint(1, 1024)
c = random.randint(0, min(I_dnr.shape[0] - 128, I_rcv.shape[0] - 128))
d = c + random.randint(1, 128)
dnr_patch = np.copy(I_dnr[a:b,c:d])
I_rcv[a:b, c:d] = dnr_patch
Edit:
Ниже приведены значения переменных. Изображения имеют произвольную форму, мне нужно выбрать донорское изображение, обрезать патч и поместить его в приемник.
I_rcv: (3648, 2736, 3)
I_dnr: (2304, 3072, 3)
dnr_patch: (425, 91, 3)