许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Jetson NX使用ROS + YOLOv5 + CVbridge实现视觉检测

Jetson NX使用ROS + YOLOv5 + CVbridge实现视觉检测

阅读数 5
点赞 0
article_banner

背景

由于项目需要,需要使用ros topic发布工业相机的图片,这里使用到了ros中的CVbridge,因为默认的CVbridge使用ros 的python2.7,但是subscriber接收到图片后使用YOLO检测目标,YOLO需要在python3下运行

了解到有两种解决方法:

1. 新建一个工作空间,在python3下编译CVbridge。

2. 新建一个中间节点,中间节点接受图片并把图片转为自定义message发布出来。

这里只尝试第一种方法,以下是详细过程。

环境

硬件: NVIDIA JETSON NX   + 大恒工业相机USB3.0接口

软件:JetPack 4.4, Python3.6  .9,Ros Melodic,Opencv 4.1.11

未使用 Anaconda

过程

首先创建一个新的工作空间

mkdir catkin_workspacecd catkin_workspacemkdir src

在工作空间中配置依赖,前两个参数都一样,注意最后一个jetson为 arm  架构,文件名不一样。注意:根据评论反馈,每个人的环境存在差异,路径需要查看自己的环境

catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/arrch64-linux-gnu/libpython3.6m.socatkin config --install

在工作空间中克隆cv_bridge包。注意:ROS Melodic对应的cv_bridge的依赖为OpenCV3,Jetson NX自带的为OpenCV4,这里我们选择编译Noetic版的cv_bridge,其依赖为OpenCV4。

cd srcgit clone https://github.com/ros-perception/vision_opencv.git

接下来返回上一目录进行编译

cd ..catkin build

最后source环境

source install/setup.bash --extend

使用如下,先引用其他头文件,使用sys.path.remove移除python2.7环境,再使用sys.path.append添加刚才编译的cv_bridge所在的python3环境。注意:这里要注意引用顺序,顺序不对会导致某些引用报错。

import roslibimport rospyfrom geometry_msgs.msg import Quaternion  from sensor_msgs.msg import Imagefrom neuvition_driver.msg import testfrom publishers.msg import scaleimport timeimport cv2import pycuda.autoinit  # This is needed for initializing CUDA driverimport numpy as npimport ctypesimport tensorrt as trtimport pycuda.driver as cudaimport sysimport threadingimport randomsys.path.remove("/opt/ros/melodic/lib/python2.7/dist-packages")import cv2sys.path.append("/home/nvidia/Documents/xw/catkin_work/install/lib/python3/dist-packages")from cv_bridge import CvBridge, CvBridgeError

引用

https://www.codeleading.com/article/56434046919/


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空