これらの手順に従ってOpenCVをインストールしました()。 1つの例をコンパイルしようとすると、このエラーが発生しました:
OpenCV Error: Unspecified error (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 cvNamedWindow, file /home/nick/.Apps/opencv/modules/highgui/src/window.cpp, line 516
terminate called after throwing an instance of 'cv::Exception'
what(): /home/nick/.Apps/opencv/modules/highgui/src/window.cpp:516: 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 cvNamedWindow
CMakeLists.txt
cmake_minimum_required(VERSION 2.8.4)
project(threadTest)
find_package( OpenCV REQUIRED )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -pthread")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "/home/nick/ClionProjects/threadTest")
set(SOURCE_FILES main.cpp)
add_executable(threadTest ${SOURCE_FILES})
target_link_libraries( threadTest ${OpenCV_LIBS} )
解決方法
最初にlibgtk2.0-devが正しくインストールされているかどうかを確認してください。 aptitudeパッケージマネージャーをインストールした場合は、次を実行します。
Sudo aptitude search libgtk2.0-dev
次のように返されます。
i libgtk2.0-dev - development files for the GTK+ library
p libgtk2.0-dev:i386 - development files for the GTK+ library
ファイルをもう一度ビルドする必要があります。OpenCVフォルダーを見つけます。新しいフォルダーを作成し、リリースとして名前を付けます。このフォルダーに入ります。例えば
cd /home/user_name/OpenCv
mkdir Release
cd Release
次のコマンドでcmakeを使用してビルドします。
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 ..
忘れずにWITH_GTK=ON
cmake中。このステップの後、コマンドを入力します、
make
Sudo make install
これで問題が解決するはずです。libgtk2.0-devの依存関係が壊れている場合は、aptitudeを使用してlibgtk2.0-devの新しいコピーをインストールしてください。
Sudo aptitude install libgtk2.0-dev
Opencv-python pipパッケージを使用してOpenCVをインストールした場合は、 https://pypi.python.org/pypi/opencv-python から取った以下の注意事項に注意してください
重要な注意MacOSとLinuxホイールには現在いくつかの制限があります:
- ビデオ関連機能はサポートされていません(FFmpegでコンパイルされていません)
- たとえば、
cv2.imshow()
は機能しません(GTK + 2.xまたはCarbonサポートでコンパイルされていません)
また、別のソースからインストールするには、まずopencv-pythonパッケージを削除する必要があることに注意してください
UbuntuにOpenCVをインストールするには、このガイドに従いましたが、まったく問題なく動作しました: http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/
@ Nic Szer's answerを改善するには、Mac OSでこのエラーを修正する方法を3つの簡単な手順で説明します。
インストール済みのOpenCVバージョンを削除して、後で混乱するのを防ぎます
pip3 uninstall opencv-python
pythonバージョンを3.5に下げます(現在のバージョン3.6には、OpenCVのインストールに使用するcondaに問題があります)
conda install python=3.5
最後に、condaを使用してOpenCVの作業バージョンをインストールします
conda install -c menpo opencv3
そして出来事:OpenCVはMac OS(Siera 10.12.4)で動作を開始します。
@ oxydron/Elliott Miller:gtk 3が事前にインストールされたUbuntu 16.04 LTS環境があります。 Caffeビルド(マスターブランチ)でも同じエラーが発生しました。次の手順を試してください。うまくいくかもしれません。
Sudo apt-get install libgtk-3-dev
cmake .. (WITH_GTK=ON and other settings),
make
そして、ビンゴはエラーがなくなった...私のpythonカフェコードで
ご注意ください:
CMAKE構成は、GTK + 2.xではなくGTK + 3.xを反映する必要があります
GUI:
-- QT: NO
-- GTK+ 3.x: YES (ver 3.18.9)
-- GThread : YES (ver 2.48.2)
-- GtkGlExt: NO
-- OpenGL support: NO
-- VTK support: NO
私はこの問題に数回対処しなければなりませんでしたが、これがこれまで一貫して機能していることです:
conda remove opencv
conda install -c menpo opencv
pip install --upgrade pip
pip install opencv-contrib-python
上記の回答のいくつかを試しましたが、ubuntuで私のために働いたものは次のステップで言及されています:
conda remove opencv
で次のコマンドを入力して、システムにインストールされている現在のopencvパッケージを削除します。conda install python=3.5
と入力することで実行できる安定バージョンに変更します。conda install -c menpo opencv3
に次の入力を指定して、opencvパッケージを再度インストールします私も同じ問題を抱えていたので、単純に opencvを再インストール で修正しました。
最初にアンインストールする必要はありません。
私(Arch Linux、Anaconda with Python 3.6)、推奨チャネル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を使用して起動されたすべてのウィンドウは正常に動作しています。
上記で説明したことが機能しない場合は、以下を試してください。
pip install opencv-python
python2の場合、または
pip3 install opencv-python
python3の