結論!
再インストールでなおる!
はじめに
InsightFace
というライブラリを使おうとした際、Onnxruntime
という前提ライブラリ的なのが必要らしかったのですが、それを入れたり消したり、関連ライブラリの設定をいじっていたらタイトルの通りになりました。
その直し方の備忘録。
まぁ海外のサイトにあったやつをそのままガバガバ翻訳して、適当に補足しているだけです。
起こったこと
以下の通りの問題が起こりました。(読みにくいので適当に改行しています。)
problem
cv2.error: OpenCV(4.8.1.78)
C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:636:
error: (-2) The function is not implemented. Rebuild the library with Windows,
GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian,
install libgtk2.0-dev and pkg-config,
then re-run cmake or configure script in function cvShowImage
起こった際の状態を再現するサンプルコードは以下の通り。
test.py
import cv2
import numpy as np
img=cv2.imread('image.jpg',1)
cv2.imshow('image', img)
cv2.waitkey()
cv2.destroyAllWwindows()
解決方法
OpenCVの再インストール!!!!
これだけです。
以下のように、OpenCV関連のライブラリをすべてアンインストールしてインストールしなおしましょう。
example
$ pip uninstall opencv-python
$ pip uninstall opencv-contrib-python
$ pip uninstall opencv-python-headless
$ pip install opencv-python
$ pip install opencv-contrib-python
$ pip install opencv-python-headless
たまに、バージョンが新しくなりすぎて動かなくなる時があります。
pip list
でバージョンを確認できるのでメモっておくと良いでしょう。
参考までに自分の最小環境を記載しておきます。
note
$ pip list
Package Version
------------- --------
numpy 1.26.1
opencv-python 4.8.1.78
pip 23.3.1
ちなみに、インストールの際に以下の通りにすればバージョンを指定できます。
note2
$ pip install opencv-python==4.8.1.78
すっごいちなみに、このOpenCV関連ライブラリたちをすべて同じバージョンにしとくと安定するそうな。