【エラー解決】ValueError: could not broadcast input array from shape (*,*,*) into shape (*,*,*)

解決:適切な数字を指定する

画像にモザイクなどをかけるとき、適切な数字を指定できていなければ以下のようなエラーが出る

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in ()
19
20 img = cv2.imread("cat.jpg")
---> 21 mos = mosaic(img, (50, 50, 350, 150), 10)
22
23 cv2.imwrite("cat-mosaic.png", mos)

in mosaic(img, rect, size)
14
15 img2 = img.copy()
---> 16 img2[y1:y2, x1:x2] = i_mos
17 return img2
18

ValueError: could not broadcast input array from shape (100,300,3) into shape (100,175,3)

mos = mosaic(img, (50, 50, 350, 150), 10)の350を150にしてみるとエラーは発生しない。

これはあくまで例。その時々によって変更すべき箇所が変わる。

まとめ

画像を扱う際に、適切な数字を指定できているか確かめよう。
数字の大きさを大きくしたり小さくしたりしてみよう。