keep-loving-pythonのブログ

Pythonを愛し続けたいです(Pythonが流行っている限りですが。。。)

解決策。cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function 'resize'

解決策。cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function 'resize'

エラー

cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function 'resize'

周辺含めた詳細

Traceback (most recent call last):
  File "mosaic.py", line 196, in <module>
    ErrorList, ImgNumbers, GoodMatches = giveMosaic(img1, 10000)
  File "mosaic.py", line 92, in giveMosaic
    FirstImage = cv2.resize(FirstImage, (widthM / 4, heightM / 4))
cv2.error: OpenCV(4.5.3) :-1: error: (-5:Bad argument) in function 'resize'
> Overload resolution failed:
>  - Can't parse 'dsize'. Sequence item with index 0 has a wrong type
>  - Can't parse 'dsize'. Sequence item with index 0 has a wrong type

エラーの内容は、

↓ 下記で、引数がダメ(Bad argument)

    FirstImage = cv2.resize(FirstImage, (widthM / 4, heightM / 4))

具体的には、

>  - Can't parse 'dsize'. Sequence item with index 0 has a wrong type

dsizeに対する引数のタイプがNG、とのこと。

解決策

このコードは、python2対応で書かれたコードであり、python3の環境で動かそうとしているので 出る。

/を//に変更すれば良い。

    FirstImage = cv2.resize(FirstImage, (widthM // 4, heightM //4))

自分の関連記事

Python2のコードをpython3で動かしてエラーが出る場合、こう治せば良い。(AIとかのコード編) - keep-loving-pythonのブログ

コメント

アドバイスなどあれば、お願いします。