ros_indigo机器视觉

2023-12-11 00:58
文章标签 机器 视觉 ros indigo

本文主要是介绍ros_indigo机器视觉,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

机器视觉
ROS集成了Kinect的的驱动包OpenNI,而且使用OpenCV库可以进行多种多样的图像处理。
1、安装依赖
sudo apt-get install ros-indigo-openni-*
sudo apt-get install ros-indigo-openni2-*
sudo apt-get install ros-indigo-freenect-*
2、安装Webcam Driver
cd ~/catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git
cd ~/catkin_ws
catkin_make
rospack profile
3、测试
kinect
roslaunch freenect_launch freenect-registered-xyzrgb.launch
Xtion Camera
roslaunch openni2_launch openni2.launch depth_registration:=true

rosrun image_view image_view image:=/camera/rgb/image_raw
rosrun image_view image_view image:=/camera/depth_registered/image_rect

4、测试USB Webcam
usb_cam.launch

  1 <launch>2     <arg name="video_device" default="/dev/video0" />3 4     <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" clear_params="true" output="screen">5 6         <remap from="usb_cam/image_raw" to="/camera/rgb/image_raw" />7         <remap from="usb_cam/camera_info" to="/camera/rgb/camera_info" />8 9         <param name="video_device" value="$(arg video_device)" />10         <param name="image_width" value="640" />11         <param name="image_height" value="480" />12         <param name="framerate" value="30" />13         <param name="pixel_format" value="yuyv" />默认笔记本的输出14         <param name="contrast" value="128" />15         <param name="brightness" value="128" />16         <param name="saturation" value="70" />17         <param name="autofocus" value="true" />18         <param name="camera_frame_id" value="camera_link" />19 20     </node>21 </launch>

roslaunch rbx1_vision usb_cam.launch video_device:=/dev/video0
rosrun image_view image_view image:=/camera/rgb/image_raw
rqt 图像界面查看

5、uvc驱动
sudo apt-get install ros-indigo-uvc-camera

cd ~/catkin_ws/src
git clone https://github.com/ericperko/uvc_cam.git
rosmake uvc_cam

6、安装OpenCV
python2.7
OpenCV
安装依赖:
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

安装cmake-gui(用于生成OpenCV编译文件):
CMake 2.8.12.2
sudo apt-get install cmake-qt-gui
cmake-gui

下载OpenCV源代码:
可以从OpenCV官网直接下载:http://opencv.org/downloads.html
也可以使用git命令行直接clone:
cd ~/
//比如工作目录为opencv即,cd ~/opencv-master
git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git
进入OpenCV源代码目录,创建build文件夹:
cd ~/opencv-master/opencv
mkdir build
使用cmake-gui生成编译文件:

打开cmake-gui后,在source code栏选择OpenCV源代码所在目录(例如:/home/username/workplace/opencv),在build栏中填写刚才新建的build文件夹(例如:/home/username/workplace/opencv/build)

接下来cmake会检查所有依赖库以及其他各可选部分版本,这个过程中cmake会下载一个名为ippicv的库,但经常会出现下载失败而导致configure失败,建议手动下载下载地址:
https://raw.githubusercontent.com/Itseez/opencv_3rdparty/81a676001ca8075ada498583e4166079e5744668/ippicv/ippicv_linux_20151201.tgz
后放入/home/username/opencv-master/opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e文件夹中。(备注:使用的在线下载)
修改完后再点击Configure按钮,如果依旧有红色高亮显示条目,则再次点击Configure按钮,等待所有条目均不再高亮显示后点击Generate按钮,退出cmake-gui程序,在命令行里进入/home/username/workplace/opencv/build目录,输入以下命令:
make -j8
sudo make install
sudo ldconfig

安装Numpy
Numpy:pip install numpy
sudo apt-get install python-numpy
sudo apt-get install python-scipy
PCL:先安装基本pcl库,再去git上下载python版pcl接口
1) 通过PPA安装完整PCL库
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
2) 安装python-pcl
在github上下载python-pcl(地址:https://github.com/strawlab/python-pcl)
下载后进入python-pcl目录,输入命令:
make
sudo python setup.py install即可
如果报错,可能缺少依赖库。使用命令sudo pip install cython安装python-pcl的依赖库后再执行安装命令即可。

参考备注:
http://www.ncnynl.com/archives/201609/849.html
http://blog.exbot.net/archives/2669
http://rosclub.cn/post-682.html

这篇关于ros_indigo机器视觉的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/478905

相关文章

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

【机器学习-一-基础概念篇】

机器学习 定义分类算法 应用 定义 机器学习最早是被Arthur Samuel 提出的一个概念,指计算机无需明确编程即可学习的研究领域。1950年他发明的跳棋程序,这个人机对弈游戏让他的声名鹊起,机器学习这个概念才进入大众的是视线。 在这个跳棋程序里,他编程了一种算法,这个程序与Arthur下了数万次跳棋,计算机逐渐学会了下在哪里有更大的可能会赢得比赛,哪里会输,通过这种方法,最

ROS - C++实现RosBag包回放/提取

文章目录 1. 回放原理2. 回放/提取 多个话题3. 回放/提取数据包,并实时发布 1. 回放原理 #include <ros/ros.h>#include <rosbag/bag.h>#include <std_msgs/String.h>int main(int argc, char** argv){// 初始化ROS节点ros::init(argc, argv,

机器学习之监督学习(三)神经网络

机器学习之监督学习(三)神经网络基础 0. 文章传送1. 深度学习 Deep Learning深度学习的关键特点深度学习VS传统机器学习 2. 生物神经网络 Biological Neural Network3. 神经网络模型基本结构模块一:TensorFlow搭建神经网络 4. 反向传播梯度下降 Back Propagation Gradient Descent模块二:激活函数 activ

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通