AttributeError: module 'cv2.dnn' has no attribute 'DictValue' が発生し Stable Diffusion WebUI を起動できない - Stable Diffusion

AttributeError: module 'cv2.dnn' has no attribute 'DictValue' が発生し Stable Diffusion WebUI を起動できない現象と対処法の紹介です。

現象の確認

Stable Diffusion WebUIを起動すると、以下のエラーが発生しWebUIが起動できません。
エラーメッセージ
AttributeError: module 'cv2.dnn' has no attribute 'DictValue'



エラーの発生するファイル今回の場合は、 (stable-diffusion-webui配置ディレクトリ)\venv\Lib\site-packages\cv2\typing\__init__.py を確認すると、 以下の行でエラーが発生しています。
LayerId = cv2.dnn.DictValue

原因

OpenCVのパッケージに何らかの不具合が発生しています。

対処法1: エラー行をコメントアウトする

エラーの発生する行をコメントアウトします。
コメントアウト後に起動するとWebUIを起動できる場合があります。
#LayerId = cv2.dnn.DictValue

対処法2: OpenCV のパッケージをいったん削除する

仮想環境に切り替えて、次のコマンドを実行して、opencvのパッケージをアンインストールします。
pip uninstall opencv-python 

pip uninstall opencv-contrib-python

pip uninstall opencv-python-headless
または
py -m pip uninstall opencv-python 

py -m pip uninstall opencv-contrib-python

py -m pip uninstall opencv-python-headless

以下の site-packageディレクトリを開きます。
(stable-diffusion-webui の配置ディレクトリ)\stable-diffusion-webui\venv\Lib\site-packages
site-packageディレクトリ内の以下の3つのディレクトリを削除します。ディレクトリが既に存在しない場合は次に進みます。
  • opencv_contrib_python-4.8.n.nn.dist-info
  • opencv_python_headless-4.8.n.nn.dist-info
  • opencv_python-4.8.n.nn.dist-info



削除後、webui-user.bat を実行すると、エラーが解消され起動できる場合があります。

著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2023-10-26
iPentec all rights reserverd.