博客
关于我
ROS:OpenCV canny边缘检测
阅读量:332 次
发布时间:2019-03-04

本文共 1710 字,大约阅读时间需要 5 分钟。

#include 
#include
#include
#include
#include
using namespace cv;//包含cv命名空间int main(int argc, char** argv){ ros::init(argc, argv, "canny_proc_node"); ros::NodeHandle nh; cv::VideoCapture capture(0); //0为读取摄像头,“video.format"为读取本地视频 if (!capture.isOpened()) { ROS_ERROR_STREAM("Failed to open video device\n"); ros::shutdown(); } Mat edges; //image_transport负责订阅和发布 image_transport::ImageTransport it(nh); image_transport::Publisher pub_image = it.advertise("canny_proc", 1); while (ros::ok()) { Mat frame; capture >> frame; //载入 if (frame.empty()) { ROS_ERROR_STREAM("Failed to capture image!"); ros::shutdown(); } cvtColor(frame, edges, CV_BGR2GRAY); blur(edges, edges, Size(7, 7)); Canny(edges, edges, 0, 30, 3); //将图像从cv::Mat类型转化成sensor_msgs/Image类型并发布 pub_image.publish(cv_bridge::CvImage(std_msgs::Header(), "mono8", edges).toImageMsg()); //将图像从sensor_msgs/Image类型转化成cv::Mat类型 /* cv_bridge可以有选择的对颜色和深度信息进行转化。为了使用指定的特征编码,就有下面集中的编码形式: mono8: CV_8UC1, 灰度图像 mono16: CV_16UC1,16位灰度图像 bgr8: CV_8UC3,带有颜色信息并且颜色的顺序是BGR顺序 rgb8: CV_8UC3,带有颜色信息并且颜色的顺序是RGB顺序 bgra8: CV_8UC4, BGR的彩色图像,并且带alpha通道 rgba8: CV_8UC4,CV,RGB彩色图像,并且带alpha通道 */ imshow("canny", edges); waitKey(3); // opencv刷新图像 3ms } ros::spin();}

在CMakeLists.txt中添加

find_package(OpenCV REQUIRED)
target_link_libraries(cannyproc  ${catkin_LIBRARIES}  ${OpenCV_LIBRARIES})

Q:命名空间的使用using namespace cv;

不清楚为什么,在未添加命名空间cv情况下使用cv::blur会编译错误,而添加了上述命名空间的声明后正常。望解答

转载地址:http://waxq.baihongyu.com/

你可能感兴趣的文章
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>