ubuntu安装、卸载opencv以及报错解决措施

一、安装opencv

1、安装依赖库

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

注意:这里libtiff的版本是4,好多教程默认安装的是libtiff5,如果直接sudo apt-get install libtiff-dev不加版本,会默认安装5的版本,我第一次安装opencv3.4.6的时候,在make的时候会报错:

~~对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用;

2、下载opencv

下载地址:https://opencv.org/releases/
点击Sources进行下载自己需要的版本

进入到解压的文件夹中:

在opencv3文件夹下新建build文件夹

mkdir build
cd build
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install

3、配置环境

用gedit打开/etc/ld.so.conf

sudo gedit /etc/ld.so.conf.d/opencv.conf 

在文件中加上一行 /usr/loacal/lib

/usr/loacal/lib

其中/user/loacal是opencv安装路径也就是makefile中指定的安装路

更新系统:

sudo ldconfig

修改bash.bashrc文件:

sudo gedit /etc/bash.bashrc 

在文件末尾加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

然后在命令行中输入

pkg-config opencv --modversion

4、检验

在命令行中输入如下命令:

pkg-config opencv --modversion

二、运行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

意思就是提示我libgtk2.0-dev和pkg-config这两个依赖没装,但是之前明明已经装了?

解决办法:

安装aptitude

sudo apt-get install aptitude

然后再安装libgtk2.0-dev

sudo aptitude install libgtk2.0-dev

 查看是否已安装libgtk2.0-dev

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:

进入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 ..
//cmake的时候别忘了用 WITH_GTK=ON
//然后编译
make
sudo make install
//ok,问题解决

2、运行代码时报错:

~~对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用;

原因:开始安装依赖库的时候安装的是sudo apt-get install libtiff5-dev即tiff5的版本,我安装的opencv3.4.6需要的是tiff4,所以删除tiff5:

sudo apt-get remove libtiff5-dev

安装tiff4:

sudo apt-get install libtiff4-dev

后面再重新cmake和make一下(按照上面的方法和命令)

三、完全卸载opencv

1、进入opencv安装目录(/home下的那个目录)

sudo make uninstall
cd ..
sudo rm -r build

2、删除相关内容:

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*
sudo apt-get purge libopencv* 
sudo apt-get --purge remove opencv-doc opencv-data python-opencv
cd /usr
find . -name "*opencv*" | xargs sudo rm -rf
apt-get remove-doc opencv-data python-opencv

3、检查是否删除完

pkg-config opencv --libs
pkg-config opencv --modversion

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CV_Bridge是ROS中常用的一个包,可以将ROS系统中的图像数据与OpenCV中的图像数据进行转换。在Ubuntu 18.04和ROS Melodic环境下,编译CV_Bridge包时出现错误,可能是由于缺少依赖库或者包的路径设置不正确导致的。 以下是可能的解决方案: 1. 安装依赖库 首先,您需要检查是否已经安装了必要的依赖库。CV_Bridge包需要OpenCV和Boost库。您可以使用以下命令安装它们: ``` sudo apt-get install libopencv-dev sudo apt-get install libboost-all-dev ``` 2. 设置PKG_CONFIG_PATH环境变量 如果您已经安装OpenCV和Boost库,但是仍然遇到编译错误,可能是因为您的PKG_CONFIG_PATH环境变量没有设置正确。您可以使用以下命令设置它: ``` export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH ``` 3. 更新CATKIN_IGNORE文件 如果以上方法都不能解决问题,您可以尝试更新CV_Bridge包中的CATKIN_IGNORE文件。在CV_Bridge包的根目录中,打开CATKIN_IGNORE文件,并将所有的“opencv2”和“opencv”删除,然后保存文件并重新编译CV_Bridge包。 以上是一些常见的解决方案。如果问题仍然存在,您可以尝试在ROS论坛上寻求帮助,或者参考ROS Wiki上的CV_Bridge页面。 ### 回答2: 在Ubuntu 18.04 melodic环境下,如果编译cv_bridge包时出现错误,可以尝试以下解决方法: 1. 确认已安装必需的依赖项:首先确保已正确安装OpenCV和cv_bridge的相关依赖项。可以使用以下命令安装: ``` sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml python3-rospkg-modules python3-dev ``` 2. 更新ROS packages:更新ROS packages可解决编译问题,使用以下命令更新: ``` sudo apt-get update sudo apt-get upgrade ``` 3. 检查CMakeLists.txt文件中的设置:查看cv_bridge的CMakeLists.txt文件,确认编译选项和依赖项是否正确设置。特别注意检查OpenCV的版本和路径是否正确。可以尝试重新配置和构建项目: ``` catkin_make clean catkin_make ``` 4. 检查Python版本:确认使用的Python版本是否与cv_bridge的版本兼容。在melodic环境下,建议使用Python3。 5. 安装可能缺失的软件包:如果编译错误报告缺少特定软件包,可以尝试通过以下命令来安装: ``` sudo apt-get install <package-name> ``` 其中,"<package-name>"是缺失的软件包名称。 6. 查阅错误报告和文档:细读错误报告和相关文档,可能会提供更多关于问题的信息和解决方法。 如果仍然无法解决问题,建议查阅ROS和cv_bridge的官方文档,或在ROS的官方论坛或社区中提问寻求进一步的帮助。 ### 回答3: 在Ubuntu 18.04 Melodic环境下,如果在编译cv_bridge包时遇到报错,可以尝试以下解决方法: 1. 确保已经安装了所有依赖项和必要的软件包。使用以下命令安装所需软件包: ``` sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge ``` 2. 检查工作空间的设置。确保在构建过程中使用正确的CMakeLists.txt文件。可以尝试重新创建工作空间,并在更高级别的目录中运行以下命令: ``` source /opt/ros/melodic/setup.bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 3. 清除先前的构建和开发文件。在工作空间目录下运行以下命令: ``` catkin clean -b catkin clean --devel ``` 4. 更新ROS软件包。运行以下命令更新ROS Melodic软件包: ``` sudo apt-get update sudo apt-get upgrade ``` 5. 检查cv_bridge包的版本兼容性。确保使用的cv_bridge包版本与ROS Melodic版本兼容。根据需要,可以尝试卸载并重新安装正确的版本。 通过以上方法,您应该能够解决Ubuntu 18.04 Melodic环境下cv_bridge包编译报错的问题。如果问题仍然存在,请参阅ROS Melodic和cv_bridge的官方文档和论坛,以获得更多帮助和支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值