博客
关于我
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/

你可能感兴趣的文章
nativescript(angular2)——ListView组件
查看>>
NativeWindow_01
查看>>
Native方式运行Fabric(非Docker方式)
查看>>
Nature | 电子学“超构器件”, 从零基础到精通,收藏这篇就够了!
查看>>
Nature和Science同时报道,新疆出土四千年前遗骸完成DNA测序,证实并非移民而是土著...
查看>>
Nature封面:只低一毫米,时间也会变慢!叶军团队首次在毫米尺度验证广义相对论...
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
nat打洞原理和实现
查看>>
NAT技术
查看>>
NAT模式/路由模式/全路由模式 (转)
查看>>
NAT模式下虚拟机centOs和主机ping不通解决方法
查看>>
NAT的两种模式SNAT和DNAT,到底有啥区别?
查看>>
NAT的全然分析及其UDP穿透的全然解决方式
查看>>
NAT类型与NAT模型详解
查看>>
NAT网络地址转换配置实战
查看>>
NAT网络地址转换配置详解
查看>>
navbar navbar-inverse 导航条设置颜色
查看>>
Navicat for MySQL 命令列 执行SQL语句 历史日志
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>