これは私が得ている正確なエラーです。私のOSはUbuntu 16.10。です。
OpenCV Error:Unspecified error(この機能は実装されていません。Windows、GTK + 2.xまたはCarbonサポートでライブラリを再構築します。UbuntuまたはDebianを使用している場合は、libgtk2.0-devおよびpkg-configをインストールし、 cvShowImageのcmakeImageの再実行またはスクリプトの構成)、ファイル/feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp、行545トレースバック(最後の最後の呼び出し):ファイル "untitled.py "、cv2.imshow( 'image'、img)の7行目cv2.error:/feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp:545:エラー:(-2 )関数は実装されていません。Windows、GTK + 2.xまたはCarbonサポートでライブラリを再構築します。UbuntuまたはDebianを使用している場合は、libgtk2.0-devおよびpkg-configをインストールしてから、cmakeを再実行するか、関数内のスクリプトを構成しますcvShowImage
私のコードは:
import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('0002.png',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
0002.pngは、プログラムと同じディレクトリにある画像です。最初にpython 3.5でanacondaをインストールしてから、コマンドを使用してopencvをインストールしました
conda install -c conda-forge opencv
エラーが言ったようにlibgtk2.0-devをインストールしましたが、それでも同じエラーが発生します。どんな助けでも大歓迎です。私はこれを数時間解決しようとしています。
1.最も簡単な方法:
conda remove opencv
conda update conda
conda install --channel menpo opencv
または(OpenCV 3.1の場合):
conda install -c menpo opencv3
2.そして、これをしたくない場合は、matplotlibを使用してみてください。
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('img.jpg',0)
plt.imshow(img, cmap='gray')
plt.show()
3.または、オプションWITH_GTK=ON
、またはそのようなsmthを使用して、独自にライブラリをビルドしてみます。
更新-2019年6月18日
Cv2.imshowのメソッド呼び出しが失敗したため、openCV 3.4.2のUbuntu(18.04.1 LTS)システムでこのエラーが発生しました。私はanacondaを使用しています。以下の2つのステップだけで解決できました。
conda remove opencv
conda install -c conda-forge opencv=4.1.0
あなたがピップを使用している場合は、試すことができます
pip install opencv-contrib-python
私はこの問題に数回対処しなければなりませんでしたが、これがこれまで一貫して機能していることです:
conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
任意の時点でopencv-python pipパッケージを使用してOpenCVをインストールした場合、 https://pypi.python.org/pypi/opencv-python から取られた以下の注意事項に注意してください。
重要な注意MacOSとLinuxホイールには現在いくつかの制限があります:
- ビデオ関連機能はサポートされていません(FFmpegでコンパイルされていません)
- たとえば、
cv2.imshow()
は機能しません(GTK + 2.xまたはCarbonサポートでコンパイルされていません)
また、別のソースからインストールするには、まずopencv-pythonパッケージを削除する必要があることに注意してください
私(Arch Linux、Python 3.6を搭載したAnaconda)では、推奨チャネルmenpo
またはloopbio
からインストールしても何も変わりませんでした。私の解決策( 関連する質問 を参照)は
Sudo pacman -Syu pkg-config
)をインストールします。conda remove opencv
)およびconda install -c conda-forge opencv
)conda list
がopencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forge
を返すようになり、cv2を使用して起動されたすべてのウィンドウは正常に動作しています。
作業方法(2019年4月19日にテスト済み)
これらのエラーはcondaが原因で発生します。 Anaconda Promptを開き、以下のコマンドでconda opencvがインストールされている場合は削除します
Conda envがある場合は、最初に
conda activate myenv
をアクティブにします
conda remove opencv
Pip経由でopencvをインストールした後( here をクリックして公式情報を表示)
pip install opencv-contrib-python
pipがインストールされていない場合は、
conda install pip
コマンドを使用します。
Libgtk2.0-devとpkg-configに文句を言っていることに注意してください。これが解決策です。既存のopenCVインストールをアンインストールします。
conda opencv3を削除
Opencv- conda install gtk2 pkg-configをインストールする前にこれらのパッケージをインストールしてください
次に、menpo conda install -c https://conda.anaconda.org/menpo opencv3からopencvをインストールします。
このチュートリアルに従って( OpenCV GTK + 2.xエラー )、次のことを行いました。それは私のために働いた:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON ..
Pipを使用してopencv-pythonをインストールしました。 ( https://pypi.org/project/opencv-python/ )
1)condaからopencvパッケージを削除します。
>> conda remove opencv
2)env.ymlファイルにこれを追加します:
...
dependencies:
- numpy
- pytest
...
- pip:
- opencv-python
これはすでに回答されていますが、私にとっては、conda-forgeソリューションはハックで機能しました。私のワークステーションはcentos 6マシンであり、conda仮想環境(anaconda 2)を使用しています。環境を作成する
conda create --name test python=2.7
そして、それをアクティブにします
conda activate test
Conda-forgeからopencvをインストールします
conda install -c conda-forge opencv
この環境にmatplotlibをインストールします(これはハック1です)
conda install matplotlib
Imshowの動作を確認してみましょう。ターミナルで、テスト環境をアクティブにし、Pythonを起動します。通訳で、
import cv2
import matplotlib.pyplot as plt # hack 2
img = cv2.imread('your_image_file',0)
cv2.imshow('image',img)
これにより、画像を表示するウィンドウがポップアップします。これがどのようにケースを解決したかについて、私はさらに研究しませんでした。
注1:xkbに関連するエラーが表示される場合があります。その後、.bashrcファイルに追加します
QT_XKB_CONFIG_ROOT =/usr/share/X11/xkbをエクスポート
注2:XDG_RUNTIME_DIRに関連するエラーが表示される場合があります。その後、.bashrcファイルにも追加します
export XDG_RUNTIME_DIR = .tmp/myruntimeそしてmyruntimeをmkdir -p .tmp/myruntimeで定義します
Docker内で実行している場合、このエラーが表示される場合があります。
pip install opencv-python == 3.4.5.20
pip install opencv-contrib-python == 3.4.5.20
画像に書き込んで表示する場合は、次のものが必要になる場合があります
apt-get update && apt-get install -y libglib2.0-0 libsm6 libxext6 libxrender1
Dockerから表示を取得する方法を知りたい場合は、ホストのX11を介して可能です。
私の環境はWin10であり、環境変数PATHにanacondaパスを追加しました。cv2.imshowは機能しました
C:\Users\user\Anaconda3
C:\Users\user\Anaconda3\Scripts
その後、ウィンドウを再起動します
Anaconda =からopencvを削除します
conda opencvを削除
次に、pipを使用してopencvを再インストールします。
pip install opencv
これは私のために働いています。