IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Ubuntu18.04安装opencv和opencv_contrib -> 正文阅读

[人工智能]Ubuntu18.04安装opencv和opencv_contrib

Ubuntu18.04安装opencv和opencv_contrib

由于最近要在OpenCV3中使用SIFT和SURF特征提取,而自从OpenCV2升级到OpenCV3版本后,SIFT、SURF等这些算法都被移出opencv默认项目库,而被放到opencv_contrib的项目库。因此需要手动下载opencv和opencv_contrib的源码,然后将两个源码放在一起手动编译安装。

ROS原本会有自带的OpenCV,记得不要把它删了,只删你自己另外加的库,不然后续运用ROS中的一些功能包的时候会因为找不到原来自带的Opencv而崩盘。

pip install opencv-python==3.4.2.16
pip install opencv-contrib-python==3.4.2.16

一、卸载自己另外安装的opencv库

进入到最开始自己的安装opencv(如opencv3.4.16)的build目录:

然后执行:

sudo make uninstall

然后返回到初始目录,删除掉build目录

sudo rm -r build

删除opencv其他的相关文件

sudo rm -r /usr/local/include/opencv2 
sudo rm -r /usr/local/include/opencv 
 
sudo rm -r /usr/include/opencv
sudo rm -r /usr/include/opencv2 
 
sudo rm -r /usr/local/share/opencv 
sudo rm -r /usr/local/share/OpenCV 
 
sudo rm -r /usr/share/opencv 
sudo rm -r /usr/share/OpenCV 
 
sudo rm -r /usr/local/bin/opencv* 
sudo rm -r /usr/local/lib/libopencv*
 
sudo rm -r usr/bin/opencv* 
sudo rm -r /usr/lib/libopencv*

参考提示:

前四行命令中的opencv2,有些有可能自己命名了opencv4,在相关目录下删除掉跟opencv相关的文件夹就可以。

检查是否完全删除:

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

注意:卸载后运行还是会显示3.2.0,这是melodic安装时自己帮我们安装的opencv版本,不用去卸载它,否则ros会出现问题

二、下载安装包

1、opencv下载 选择你要装的版本下载(选择source是通过浏览器下载,选择github可以通过命令行git clone下载)

在这里插入图片描述
我这里安装的是最新的opencv-4.6.0

2、opencv_contrib下载 在Tags里找到相应版本下载,注意版本要与opencv一致

在这里插入图片描述我这里下载的是opencv_contrib 4.6.0

3、下载好解压后,将opencv_contrib放在opencv文件夹里面(为方便后续操作,可将上面两个文件夹分别命名为opencv和opencv_conrib)。
在这里插入图片描述

三、环境配置

打开终端,依次执行

sudo apt-get install build-essential 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

四、安装

1、在opencv文件夹下新建build文件夹

cd opencv
mkdir build

2、在build文件夹下cmake

cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

后面“…/opencv_contrib/modules”表示opencv_contrib的modules文件夹所在的路径

3、完成后再make

sudo make

在这里插入图片描述

4、执行make install命令

sudo make install

5、添加路径

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

若找不到gedit命令则说明你之前没装,需要自己安装以下,打开一个终端,输入:

sudo apt install gedit

然后在打开文件中添加如下内容:

/usr/local/lib

之后再终端输入以下命令(安装完成某个工程后生成许多动态库,该命令是为了让这些动态链接库为系统所共享)

sudo ldconfig

使其保存并生效。
再在终端输入

sudo gedit /etc/bash.bashrc

打开文件后在末尾输入:

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

保存退出,终端输入:

source /etc/bash.bashrc

至此,opencv及opencv_contrib安装配置完成了!

五、测试

进入opencv/samples/cpp/example_cmake目录下,终端打开,依次输入:

cd ../samples/cpp/example_cmake
cmake .
make
./opencv_example

运行结果依次为:
/home/cmx/图片/屏幕截图 2022-06-22 20:59:51.png

在这里插入图片描述

在这里插入图片描述

摄像头打开了,就可以了。

查看版本

pkg-config opencv --modversion		# 4.0以下版本
 
opencv_version						# 4.0以上版本

参考博客:https://blog.csdn.net/bj233/article/details/113351023
https://blog.csdn.net/qq_38236355/article/details/88864023


如果在第3步安装的make中出现以下问题,可以参考,我安装过程中并为出现以下问题

这时可能会出现这样的问题:

在这里插入图片描述

这是因为一些文件没有下载下来,不只此处的boostdesc_bgm.i,还有
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i
解决办法:下载缺失的文件,然后拷贝到xfeatures2d/src下面。
然后,前面的问题没有了,到99%时,可能又有新问题了:

在这里插入图片描述

解决办法:这类错误要看错误前面的他给出了源码中哪里有问题,找到错误提示处的文件源码,比如这里(上图):…/.opencv/modules/stitching/include/opencv2/stitching/detail/src/matchers.cpp中的52行有错,一般都是给的绝对路径不准确没有找到那个对应的文件。后面给出cuda.hpp的位置,把这个绝对路径直接代替报错处52行给出的不准确路径即可,如下图:
修改后的matchers.cpp类似的,下面这个错误就是找不到…/opencv/modules/stitching/src/precomp.hpp这个路径下的这个文件,把里面91行的

#include “/opencv2/xfeatures2d/cuda.hpp”

修改成

#include “/home/(你的用户名)/opencv/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp”*//(这个就是cuda.hpp这个文件的绝对路径)

在这里插入图片描述

描述修改好后保存关闭。
下面这个错误是路径里的features2d.cpp前面少了一个x

在这里插入图片描述

描述改好后,再make,有错继续改,直到100%

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:06:59  更:2022-06-25 18:10:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:47:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码