linux opencv gtk 没窗口,OpenCV GTK+2.x error

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):

问题:

I had installed OpenCV following these steps ().

After trying to compile one examples,i got this 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} )

How to solve it?

回答1:

First check whether libgtk2.0-dev is installed properly. If you have installed aptitude package manager, run the following:

sudo aptitude search libgtk2.0-dev

It should return like this:

i libgtk2.0-dev - development files for the GTK+ library

p libgtk2.0-dev:i386 - development files for the GTK+ library

You need to build the files once again.Locate your OpenCV folder. Create a new folder and name it as release. Enter into this folder. For example

cd /home/user_name/OpenCv

mkdir Release

cd Release

Now build using cmake with following command:

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 ..

Remember to put WITH_GTK=ON during cmake.

After this step enter the command,

make

sudo make install

This should resolve your problem.If you have broken dependencies for libgtk2.0-dev, then install a fresh copy of libgtk2.0-dev using aptitude.

sudo aptitude install libgtk2.0-dev

回答2:

If you installed OpenCV using the opencv-python pip package, be aware of the following note, taken from https://pypi.python.org/pypi/opencv-python

IMPORTANT NOTE

MacOS and Linux wheels have currently some limitations:

video related functionality is not supported (not compiled with FFmpeg)

for example cv2.imshow() will not work (not compiled with GTK+ 2.x or Carbon support)

Also note that to install from another source, first you must remove the opencv-python package

To install OpenCV in Ubuntu I followed this guide, and it worked perfectly fine:

http://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

回答3:

In order to improve @Nic Szer's answer I want to explain how to fix this error on Mac OS in three simple steps.

Remove installed OpenCV version to avoid mess up later

pip3 uninstall opencv-python

Lower your python version to 3.5 (current version 3.6 has problems with conda which we will use to install OpenCV)

conda install python=3.5

Finally, use conda to install working version of OpenCV

conda install -c menpo opencv3

And then voila: OpenCV will start working on your Mac OS(Siera 10.12.4).

回答4:

@oxydron/Elliott Miller:

I have Ubuntu 16.04 LTS environment with gtk 3 pre installed.

I got the same error for Caffe build (master branch),

Try the following steps, may be it should work for you.

sudo apt-get install libgtk-3-dev

cmake .. (WITH_GTK=ON and other settings),

make

And bingo the error was gone... in my python caffe code

Please note:

The CMAKE configuration should reflect GTK+ 3.x instead of 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

回答5:

I have the solved using Anaconda 3 installing on Ubuntu 16.04.

I have used pycharm editor for my python code.

I am using python 3.6 version.

I solved the issue using these processes.

IDEA: we need to install the package opencv-contrib-python package from the pycharm.

6c1555302777729326ca3efa0910d9ec.png

回答6:

For me (Arch Linux, Anaconda with Python 3.6), installing from the suggested channels menpo or loopbio did not change anything. My solution was to

install pkg-config (sudo pacman -Syu pkg-config),

remove opencv from the environment (conda remove opencv) and

re-install opencv from the conda-forge channel (conda install -c conda-forge opencv)

conda list now returns opencv 3.3.0 py36_blas_openblas_203 [blas_openblas] conda-forgeand all windows launched using cv2 are working fine.

回答7:

I have had to deal with this issue a couple of times, this is what has worked consistently thus far:

conda remove opencv

conda install -c menpo opencv

pip install --upgrade pip

pip install opencv-contrib-python

回答8:

I had the same problem, and fixed it by simply reinstalling opencv.

There is no need to uninstall it first.

回答9:

I tried several of the answers mentioned above the one that worked for me in ubuntu is mentioned in the following steps:

Firstly, remove the current opencv package that is installed in your system by typing in the following command in the terminal conda remove opencv.

If your python version is 3.6 or above then change it into the stable version which can be done by typing in conda install python=3.5.

Later on install the opencv package again by giving the following input in terminal conda install -c menpo opencv3

回答10:

In case what they mentioned above doesn't work, try:

pip install opencv-python

for python2, or

pip3 install opencv-python

for python3

回答11:

I was using windows OS . I have gone through many stuffs in order to sort this problem . At last i just reinstall the opencv and cmake and it worked without any error.

回答12:

I have fixed this issue by replacing

cvDestroyWindow("showImage");

by

cvDestroyWindow("ShowImage");

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值