解决opencv测试时OpenCV Error: Unspecified error (The function is not implemented.的问题

本文详细介绍了在Ubuntu或Debian环境下安装OpenCV时遇到的未实现函数错误,并提供了具体的解决方案,包括卸载已安装的OpenCV,安装必要的依赖包libgtk2.0-dev和pkg-config,以及重新编译和安装的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安装好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/aborn/software/OpenCV-3.4.7/modules/highgui/src/window.cpp, line 598
terminate called after throwing an instance of ‘cv::Exception’
what(): /home/aborn/software/OpenCV-3.4.7/modules/highgui/src/window.cpp:598: 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

解决方法:

我们在安装opencv的时候,没有考虑到一些额外的依赖:
libgtk2.0-dev
pkg-config
这两个依赖环境是需要在opencv安装之前安装的;此时正确的做法是将之前安装好的opencv卸了,重新安装,在确保安装了opencv一些必要的依赖后,还需要安装libgtk2.0-dev和pkg-config。之后再进行编译、安装、配置环境

解决过程:

  1. 卸载之前安装的opencv:
    进入opencv的源代码文件夹下的build(这是你在安装opencv时候自己命名的,cmake时候所在的目录),依次执行如下命令:

make uninstall
cd ..
sudo rm -r release
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv
  1. 再次安装:
    安装cmake
sudo apt-get install cmake

依赖环境

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

下载opencv(若已经下载,则跳过这步)
下载地址:https://opencv.org/releases/
点击Sources进行下载自己需要的版本
在这里插入图片描述
解压文件
解压后,将文件夹放自己喜欢的地方,笔者这里就放在了home下
在这里插入图片描述
进入到解压后的文件夹下
(这里我将解压后的文件夹重新命为opencv3,这个随便,不是重点)
在opencv3文件夹下新建build文件夹
在这里插入图片描述

cd build

在这里插入图片描述
cmake

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

接下来时一个漫长的等待过程,大概需要等10分钟,不用担心,耐心点…
在这里插入图片描述
进行编译

sudo make -j8
可以使用sudo make -j 8 、sudo make -j4 、sudo make 
我这里就使用sudo make -j 8了

在这里插入图片描述
进行安装

sudo make install

在这里插入图片描述
到这里就结束了,希望可以解决你的问题

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶陶name

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值