位置: IT常识 - 正文

看这篇就够了——opencv与libopencv与cv_bridge的安装与使用(看了这篇文章感触很深的说说)

编辑:rootadmin
看这篇就够了——opencv与libopencv与cv_bridge的安装与使用 一、基本关系opencv

推荐整理分享看这篇就够了——opencv与libopencv与cv_bridge的安装与使用(看了这篇文章感触很深的说说),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:看了这篇作文,看这个内容,就看这个作文,看完这篇文章就知道了,看了这篇文章后受益匪浅修改病句,看这篇文章用英语怎么说,就看这个作文,看完这篇作文,内容如对您有帮助,希望把文章链接给更多的朋友!

  OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库,是由Intel公司俄罗斯团队发起并参与和维护,支持与计算机视觉和机器学习相关的众多算法。OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++API和Python语言的最佳特性。

libopencv

"libopencv" 是 OpenCV 库的一个部分,是指 OpenCV 库的核心静态链接库文件,包括计算机视觉算法、图像处理等的实现。 "libopencv" 是 "OpenCV" 库的一个组成部分,是 OpenCV 的核心代码库之一。

vision_opencv

在 Ubuntu 上使用 ROS 并需要使用 OpenCV,需要安装 ROS 中的 "vision_opencv" 软件包。该软件包提供了与 OpenCV 相关的 ROS 节点和函数,可以方便地使用 OpenCV 进行图像处理和计算机视觉任务。

cv_bridge

cv_bridge是vision_opencv中的一个包,用于opencv与ROS之间的数据通信。

可以说 "vision_opencv" 软件包和 "libopencv" 库都是与 OpenCV 相关的软件库,但是它们的使用方式和应用场景略有不同。

opencv-python

是opencv的python绑定库,满足python的使用。

简单来讲,我们一般会在ubuntu运用ROS对图片数据进行传输,不管是python还是C++,我们都需要安装一个暂且叫做主opencv库,和一个cv_bridge.下面将讲怎么安装使用。

二、下载安装2.1 C++

自动安装

主opencv库的安装

sudo apt-get install libopencv-dev

cv_bridge的安装

sudo apt-get install ros-noetic-cv-bridge

用以上两行命令即可解决,但这样的方法虽然简单,有时候却不能满足编译条件,比如ubuntu20.04默认是opencv4,如果你的代码想用opencv3,就会出现问题。于是还可以手动安装opencv。

手动安装

主opencv库安装

所以我们就去opencv官网找4.2.0的包,下载下来。

https://opencv.org/releases/

安装依赖

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

编译安装

mkdir build && cd buildcmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..#电脑性能差可去掉-j4,性能很好可增加数字(线程)make -j4sudo make install

添加环境路径

配置OpenCV变量,编辑文件 /etc/ld.so.conf.d/opencv.conf(如果没有就会自动创建):

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

然后添加 OpenCV的 lib 路径:

/usr/local/opencv4/lib

保存退出,执行:

sudo ldconfig

编辑 ~/.bashrc 文件:

sudo gedit ~/.bashrc

最后添加:

xport PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/opencv4/lib/pkgconfigexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./usr/local/opencv4/lib

保存退出

source ~/.bashrc看这篇就够了——opencv与libopencv与cv_bridge的安装与使用(看了这篇文章感触很深的说说)

验证opencv是否安装

pkg-config --modversion opencv

冲突问题

这时问题就出现了,你的电脑里现在有两个opencv和一个cv_bridge,就会出现版本冲突的令人头疼的问题。首先应该将两个opencv区分开,让C++知道应该用哪个进行编译,应在CMakelist文件中添加

set(OpenCV_DIR "~/opencv-3.2.0/installed")find_package(OpenCV 3.2。0 REQUIRED)

现在opencv解决了,但由于你手动安装的opencv版本和cv_bridge是不一样,cv_bridge版本默认和libopencv配对,这两个依然还是会冲突,所以应该下载官网的opencv_vision包。

opencv_vision的安装

官网如下,选择和opencv一样的版本下载

https://github.com/ros-perception/vision_opencv

随后像这样一样直接把这整个包放入你的工作空间中,一起进行编译。

如果还出现冲突将cv_bridge先卸载也可以,反正就一行命令的事情。

sudo apt-get remove ros-noetic-cv-bridge

这样就可以在ubuntu20.04使用opencv3进行编译了。需要用opencv4进行编译时,将bashrc中的opencv路径注释,不放入vision-opencv即可。

其他问题

Q1:opencv和cv_bridge的版本不同一定不能编译吗?

A1:并不是,如果libopencv是4.2,版本你手动安装的是opencv4.1,是可以通过编译的,但会显示冲突警告。有时如果相差版本过大是通不过编译的,博主换成手动安装的opencv3.2就编译报错了。

Q2:安装了libopencv后,有必要再手动安装一个同样的opencv版本吗?

A2:一般情况下是没必要的,libopencv和opencv他们有一个就好,博主做过测试,只要有一个,就可以找到opencv进行编译。

Q3:推荐自动安装opencv还是手动安装opencv?

A3:看具体的代码要求,自动安装的优势是很方便,但版本固定。手动安装比较复杂,但可以自由安装版本。博主是先自动安装opencv和cv_bridge,主要满足不了编译条件再手动安装。一般情况如果自动安装opencv3,那就手动安装一个opencv4.自动安装opencv4,就手动安装opencv3.同系的opencv一般虽然会显示冲突,但是能够编译通过的。

Q4:我就想手动安装opencv,不想用简单一行命令的libopencv,且不与一行命令的cv_bridge产生冲突,可以吗?

A4:你jian不jian啊(绝大多数人的情况),但是确实可以。可以先安装libopencv,然后查看它的版本,然后再去官网选择与libopencv的版本一样的下载就可以了,不会产生冲突。博主亲自实验过,也是jian的。但大部分情况是这两种方法使用的效果一样,那为什么不选择用一行命令呢?

2.2 PYTHON

1.安装

python 相对的使用就方便很多

主opencv库安装

pip install opencv-python

cv_bridge

pip install cv_bridge

不过好像sudo apt-get install ros-noetic-cv-bridge安装完,python就能用cv_bridge

2.其他问题

Q1:手动安装opencv完整库后,能否不安装opencv-python,就能在python使用

A1:经过测试,是不行的。如果python想用opencv就必须安装opencv-python。

总结:opencv的安装使用,主要头疼的地方是在C++的编译冲突,网上有大量的教你怎么修改cv_bridge的原始调用文件等等很复杂。其实很简单,opencv和cv_bridge的安装使用,要手动都手动,要自动都自动,就可以避免冲突。

本文链接地址:https://www.jiuchutong.com/zhishi/298422.html 转载请保留说明!

上一篇:点云数据的语义分割算法综述总结大全(传统方法+基于深度学习的方法)(什么叫点云数据)

下一篇:【Vue】Cannot set reactive property on undefined,null,or primitive value:undefined(vue cannot set property)

  • 网店推广方式有哪些(网店推广方式有几种具体是哪些)

    网店推广方式有哪些(网店推广方式有几种具体是哪些)

  • 苹果手机排线松了有什么症状(苹果手机排线松动怎么解决自己)

    苹果手机排线松了有什么症状(苹果手机排线松动怎么解决自己)

  • 笔记本不用鼠标怎么点右键(笔记本不用鼠标怎么删除)

    笔记本不用鼠标怎么点右键(笔记本不用鼠标怎么删除)

  • 9350kf配什么主板(9350kf配什么显卡)

    9350kf配什么主板(9350kf配什么显卡)

  • 手机微信安装包解析错误(手机微信安装包损坏怎么办)

    手机微信安装包解析错误(手机微信安装包损坏怎么办)

  • 现代计算机的主要特点(现代计算机的主要功能部件有几个)

    现代计算机的主要特点(现代计算机的主要功能部件有几个)

  • 小米手机相机怎么拉低曝光(小米手机相机怎么扫描身份证)

    小米手机相机怎么拉低曝光(小米手机相机怎么扫描身份证)

  • 华为光感应器怎么设置(华为光感器在哪设置)

    华为光感应器怎么设置(华为光感器在哪设置)

  • win1032位支持多大内存(win10支持32位么)

    win1032位支持多大内存(win10支持32位么)

  • 帮好友辅助注册微信安全吗(帮好友辅助注册微信)

    帮好友辅助注册微信安全吗(帮好友辅助注册微信)

  • 别的手机登录微信能看见聊天记录吗(别的手机登录微信需要验证码吗)

    别的手机登录微信能看见聊天记录吗(别的手机登录微信需要验证码吗)

  • 支付宝扫码付款后能加好友吗(支付宝扫码付款后怎么查看对方账号)

    支付宝扫码付款后能加好友吗(支付宝扫码付款后怎么查看对方账号)

  • 抖音第二年认证还要钱吗(抖音第二年认证多少钱)

    抖音第二年认证还要钱吗(抖音第二年认证多少钱)

  • 苹果线不支持此配件怎么解决(苹果线显示不支持此配件)

    苹果线不支持此配件怎么解决(苹果线显示不支持此配件)

  • 剪映提示未识别人声(剪映无法识别mov)

    剪映提示未识别人声(剪映无法识别mov)

  • qq留言频繁怎么解决(qq留言操作频繁 多久恢复)

    qq留言频繁怎么解决(qq留言操作频繁 多久恢复)

  • htc手机开不了机怎么办(htc手机开不了机了有什么办法)

    htc手机开不了机怎么办(htc手机开不了机了有什么办法)

  • switch错误代码2811-5001(switch错误代码2819-0003)

    switch错误代码2811-5001(switch错误代码2819-0003)

  • powerpoint是啥软件(powerpoint叫什么)

    powerpoint是啥软件(powerpoint叫什么)

  • 把微信卸载了重新下载聊天记录还在吗(把微信卸载了重装能恢复原来的朋友圈吗)

    把微信卸载了重新下载聊天记录还在吗(把微信卸载了重装能恢复原来的朋友圈吗)

  • 注销的qq号怎么找回来(注销的qq号怎么解除手机绑定)

    注销的qq号怎么找回来(注销的qq号怎么解除手机绑定)

  • 苹果7p电池更换教程(苹果7p电池更换视频教程)

    苹果7p电池更换教程(苹果7p电池更换视频教程)

  • 拼多多微信登录不了(拼多多微信登录怎么注销账号)

    拼多多微信登录不了(拼多多微信登录怎么注销账号)

  • 抖音上的收藏在哪里(抖音的收藏在哪里删除)

    抖音上的收藏在哪里(抖音的收藏在哪里删除)

  • 拼多多的购物车在哪里(拼多多怎么样加入购物车里)

    拼多多的购物车在哪里(拼多多怎么样加入购物车里)

  • python中TKinter组件的使用(python tkinter entry用法)

    python中TKinter组件的使用(python tkinter entry用法)

  • 织梦标签dede:list中增加noflag属性的方法支持5.7版本(织梦标签理解)

    织梦标签dede:list中增加noflag属性的方法支持5.7版本(织梦标签理解)

  • 实收资本印花税是一年一交吗
  • 企业所得税计算表
  • 注册500万公司实缴多少钱
  • 利润分配未分配利润是什么科目
  • 个税年度汇算清缴截止时间
  • 出口的港杂费包括哪些
  • 收到税收返还的会计处理
  • 资产负债表中存货项目金额怎么算
  • 赠送客户的商品怎么入账
  • 股权转让所得交所得税吗
  • 复利现值系数完整版
  • 研发场地租赁计什么科目
  • 发票未到的库存商品如何做账
  • 福利费用计入
  • 小规模纳税人是小微企业吗
  • 私车公用油费计入什么科目
  • 销项税额抵减是怎么回事
  • 个人承包公司的经营所得怎么算
  • 盘盈现金计入当期损益
  • 在建工程暂估转固定资产
  • Win11怎么设置开机跳过密码
  • php写入xml
  • 浅谈linux
  • 澳大利亚太平洋银行
  • 计提坏账准备的方法
  • 住房公积金领出来用了影响以后买房贷款吗
  • 优酷路由宝还有用吗
  • php文件乱码怎么办
  • 业务招待费的纳税筹划
  • php用法
  • 事业单位委托业务费拨付时是否需要发票
  • 小规模与一般纳税人做账区别
  • 口腔门诊提供免费服务有哪些?
  • 错误解决方法
  • gpt gtp
  • CV攻城狮入门VIT(vision transformer)之旅——VIT原理详解篇
  • jquery弹出层插件
  • 无形资产法
  • 小规模纳税人房产税优惠政策2023
  • 下岗职工生活费停发
  • 帝国cms视频教程
  • 残疾人就业保障金减免政策2023
  • 服装加工税率是13%还是16%
  • 劳动合同和劳务合同可以一起签吗
  • 用友应收系统凭证冲销后查询不到怎么办
  • sql server 2008全称
  • PostgreSQL教程(十五):系统表详解
  • 企业收到退回的社保费分录
  • 个体工商户需要给员工交社保吗
  • 购进商品用于销售
  • 支付给个人的佣金没有发票
  • 企业贷款业务
  • 电子增值税发票样本
  • 黄金入账如何做会计分录
  • 给员工单独买的西装会计分录
  • 服务佣金最高可以收多少
  • centos7.6ssh
  • 如何在windows中添加字体
  • win7误删注册表
  • Ubuntu系统安装软件
  • sniffer.exe - sniffer是什么进程
  • centos fio
  • win8 怎么样
  • windows7怎么卸载
  • win7桌面没有了怎么办
  • win7系统软件卸载
  • linux ids
  • w7开机界面
  • win10系统如何查看
  • 5.2光源
  • 字符串反转C语言代码
  • Android Bound Service(二) ----- Using AIDL
  • python批量创建文件
  • python模拟操作
  • js继承的方法
  • xmpp client
  • 税务局通知自查该怎么办理
  • 查税务在哪里查
  • 浙江税务网上开票流程图
  • 账本遗失征管法处罚
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设