c++ - Error de OpenCV GTK+2.x
cmake makefile (6)
@ oxydron / Elliott Miller: Tengo el entorno Ubuntu 16.04 LTS con gtk 3 preinstalado. Tengo el mismo error para la compilación de Caffe (rama principal), pruebe los siguientes pasos, puede ser que debería funcionar para usted.
sudo apt-get install libgtk-3-dev
cmake .. (WITH_GTK=ON and other settings),
make
Y bingo, el error desapareció ... en mi código de Caffe Python
Tenga en cuenta:
La configuración CMAKE debe reflejar GTK + 3.x en lugar de 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
Había instalado OpenCV siguiendo estos pasos (). Después de tratar de compilar un ejemplo, obtuve este error:
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} )
¿Cómo resolverlo?
He solucionado este problema reemplazando
cvDestroyWindow("showImage");
por
cvDestroyWindow("ShowImage");
Para mejorar la respuesta de @Nic Szer, no quiero explicar cómo solucionar este error en Mac OS en tres sencillos pasos.
1.Retire la versión de OpenCV instalada para evitar problemas después
pip3 uninstall opencv-python
2. Baja tu versión de Python a 3.5 (la versión actual 3.6 tiene diferentes problemas con la conda, que usaremos para instalar OpenCV)
conda install python=3.5
3. Por último, use conda, para instalar la versión de trabajo de OpenCV
conda install -c menpo opencv3
Y luego voila: OpenCV comenzará a trabajar en su Mac OS (Siera 10.12.4).
Primero compruebe si libgtk2.0-dev está instalado correctamente. Si ha instalado aptitude package manager, ejecute lo siguiente:
sudo aptitude search libgtk2.0-dev
Debería volver así:
i libgtk2.0-dev - development files for the GTK+ library
p libgtk2.0-dev:i386 - development files for the GTK+ library
Necesita construir los archivos una vez más. Ubique su carpeta OpenCV. Crea una nueva carpeta y nómbrala como versión. Entrar en esta carpeta. Por ejemplo
cd /home/user_name/OpenCv
mkdir Release
cd Release
Ahora compila usando cmake con el siguiente comando:
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 ..
Recuerde poner WITH_GTK=ON
durante cmake. Después de este paso ingrese el comando,
make
sudo make install
Esto debería resolver su problema. Si tiene dependencias rotas para libgtk2.0-dev, instale una copia nueva de libgtk2.0-dev usando aptitude.
sudo aptitude install libgtk2.0-dev
Si instaló OpenCV utilizando el paquete pip de opencv-python, tenga en cuenta la siguiente nota, tomada de https://pypi.python.org/pypi/opencv-python
NOTA IMPORTANTE Las ruedas MacOS y Linux tienen actualmente algunas limitaciones:
- la funcionalidad relacionada con el video no es compatible (no compilada con FFmpeg)
- por ejemplo
cv2.imshow()
no funcionará (no compilado con GTK + 2.xo soporte de Carbono)
También tenga en cuenta que para instalar desde otra fuente, primero debe eliminar el paquete opencv-python
Para instalar OpenCV en Ubuntu seguí esta guía, y funcionó perfectamente bien: http://www.pyimagesearch.com/2016/10/10/24/ubuntu-16-04-how-to-install-opencv/
Tuve el mismo problema y lo solucioné simplemente reinstalando opencv.
No hay necesidad de desinstalarlo primero.