Opencv+ROS实现特定物品识别

演示

一、工具

ROS+opencv

ubuntu18.04

二、原理

基于opencv的颜色识别,捕捉特定物品的hsv值来进行轮廓框取,最后包装与ROS框架中。

  • 颜色识别
  • 鼠标事件响应
  • 保存hsv

按照我上一个博客完成了颜色识别,然后通过鼠标捕捉目标像素点的hsv值进行识别,最后将hsv保存再output.txt中

cpp 复制代码
ofstream file("output.txt");
        if (file.is_open()) {
            file << "H: "<<H<<" S: " << S<< "  V: "<<V<< endl;
            ROS_INFO("成功保存参数");
            file.close();
        } else {
            ROS_ERROR("Failed to open file");
        }

三、安装

bash 复制代码
cd ~/catkin_ws/src
git clone https://github.com/jiezz12/color_detect.git
cd ..
catkin_make

编译完成后进入launch文件夹修改一些参数

XML 复制代码
<?xml version="1.0"?>
<launch>
  <node pkg="color_detect" name="opencv_camera" type="color_detect" output="screen"/>
            <param name="image_view" type="bool" value="true"/>
            <param name="video_device" type="int" value="0"/>
            <param name="width" type="int" value="640"/>
            <param name="height" type="int" value="480"/>
            <param name="H" type="int" value="100"/>
            <param name="S" type="int" value="100"/>
            <param name="V" type="int" value="100"/>

</launch>
  • 图像可视化
  • 相机接口
  • 图像分辨率
  • 识别物品的hsv值

用法

cpp 复制代码
roslaunch color_detect color_detec.launch

会打开video窗口

通过点击窗口会保存新的hsv值

默认保存在/.ros/中,可以更改

话题查看

XML 复制代码
rostopic echo /opencv_camera/color_detect

发布方式为如果图像中没有识别物则会重复发布上次的坐标。

https://github.com/jiezz12/color_detect.githttps://github.com/jiezz12/color_detect.git

相关推荐
数融智域4 分钟前
2026年获客智能体排行榜top前五
大数据·人工智能
程序猿编码11 分钟前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
xingyuzhisuan16 分钟前
面部表情僵硬不自然?在分镜描述中加入微表情词并降低运动强度参数
人工智能
Thomas.Sir19 分钟前
第38课:TensorFlow|可视化工具TensorBoard全用法【日志写入、指标监控、网络可视化】
人工智能·python·tensorflow
Am-Chestnuts20 分钟前
AI 生成的数学公式,怎么用 DS随心转 导出成 Word 里能改的公式
人工智能·c#·word
tq108622 分钟前
谁能穿越AI寒冬?
人工智能
Seoyoneh26 分钟前
AI Agent落地后,云客服系统部署架构与多租户隔离的深度技术拆解
人工智能·架构
醍醐实验室32 分钟前
量化推理实战:AWQ、GPTQ 与 SmoothQuant 激活异常值治理
人工智能
加速财经36 分钟前
2026年网站部署平台怎么选:6款平台,覆盖网页上线与 AI 项目部署
人工智能
长沙京卓39 分钟前
可源码交付|县域低空无人机智能运营平台:AI辅助飞行、巡检闭环与警用低空安防
人工智能·无人机