博客
关于我
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学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
查看>>
Mysql学习总结(63)——Mysql数据库架构方案选择与分析
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(67)——MYSQL慢查询日志
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
查看>>
Mysql学习总结(72)——MySQL 开发者开发,设计规范再总结
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(74)——慢SQL!压垮团队的最后一根稻草!
查看>>
Mysql学习总结(75)——并发量大、数据量大的互联网业务数据库设计军规
查看>>
Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>