OpenCV GTK+2.ошибка x

Я установил OpenCV после этих шагов (). После попытки скомпилировать один пример,я получил эту ошибку :

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} )

как ее решить?

8 ответов


сначала проверьте, является ли libgtk2.0-dev установлен правильно. Если вы установили aptitude package manager, выполните следующие действия:

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, затем установите новую копию libgtk2.0-dev с использованием aptitude.

sudo aptitude install libgtk2.0-dev

Если вы установили OpenCV с помощью пакета opencv-python pip, обратите внимание на следующее примечание, взятое изhttps://pypi.python.org/pypi/opencv-python

ВАЖНОЕ ПРИМЕЧАНИЕ Колеса MacOS и Linux в настоящее время имеют некоторые ограничения:

  • функциональность, связанная с видео, не поддерживается (не скомпилирована с FFmpeg)
  • cv2.imshow() не будет работать (не скомпилирован с GTK+ 2.x или углерод поддержка)

также обратите внимание, что для установки из другого источника Сначала необходимо удалить пакет opencv-python

для установки OpenCV в Ubuntu я следовал этому руководству, и он работал отлично: http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/


для того, чтобы улучшить @Ник Сзэр это!--5--> ответ я не хочу объяснять, как исправить эту ошибку на Mac OS в три простых шага.

1.Удалите установленную версию OpenCV, чтобы избежать беспорядка позже

pip3 uninstall opencv-python 

2.Понизьте версию python до 3.5 (текущая версия 3.6 имеет разные проблемы с conda, которые мы будем использовать для установки OpenCV)

conda install python=3.5

3.Наконец, используйте conda, чтобы установить рабочую версию OpenCV

conda install -c menpo opencv3 

и тогда вуаля: OpenCV начнет работать на вашем Mac OS (Siera 10.12.4).


@oxydron / Elliott Miller: У меня есть среда Ubuntu 16.04 LTS с предварительно установленным gtk 3. Я получил ту же ошибку для Caffe build (master branch), Попробуйте следующие шаги, может быть, это должно сработать для вас.

sudo apt-get install libgtk-3-dev
cmake .. (WITH_GTK=ON and other settings), 
make

и бинго ошибка пропала... в моем коде Python caffe

обратите внимание:

конфигурация CMAKE должна отражать GTK+ 3.x вместо GTK+ 2.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

У меня была та же проблема, и я исправил ее, просто переустановив opencv.

http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation

нет необходимости сначала удалять его.


для меня (Arch Linux, Anaconda с Python 3.6), установка из предложенных каналов menpo или loopbio ничего не изменится. Моим решением было

  1. установить pkg-config (sudo pacman -Syu pkg-config),
  2. удалить opencv из среды (conda remove opencv) и
  3. переустановите opencv из канала conda-forge (conda install -c conda-forge opencv)

conda list возвращает opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forgeи все окна, запущенные с помощью cv2, работают нормально.


У меня есть решение с помощью Anaconda 3, установленного на Ubuntu 16.04.

Я использовал редактор pycharm для моего кода python.

Я использую версию python 3.6.

Я решил проблему, используя эти процессы.

идея: нам нужно установить пакет opencv-contrib-python из pycharm.

enter image description here


я исправил эту проблему путем замены

cvDestroyWindow("showImage");

by

cvDestroyWindow("ShowImage");