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

相关推荐
啊巴矲16 分钟前
小白从零开始勇闯人工智能:机器学习初级篇(随机森林)
人工智能·机器学习
技术小甜甜24 分钟前
[AI Agent] 如何在本地部署 Aider 并接入局域网 Ollama 模型,实现本地智能助手操作系统资源
人工智能·ai·自动化·agent
江湖独行侠26 分钟前
基于光学定位系统实现手术器械和CT模型的追踪
人工智能·信息可视化·健康医疗
格林威30 分钟前
跨设备图像拼接:统一色彩偏差的8个核心策略,附OpenCV+Halcon实战代码!
人工智能·数码相机·opencv·机器学习·计算机视觉·视觉检测·工业相机
Java中文社群30 分钟前
避坑指南!别再被N8N循环节点“调戏”了!为什么你的Done分支执行了多次?
人工智能·后端
hqyjzsb1 小时前
从爱好到专业:AI初学者如何跨越CAIE认证的理想与现实鸿沟
大数据·c语言·人工智能·信息可视化·职场和发展·excel·业界资讯
用户8599681677691 小时前
极客时间 PostgreSQL 进阶训练营(完结)
人工智能
大厂技术总监下海1 小时前
每日 1000 亿 Token 流量,开源 AI 网关 Portkey 如何打通 250+ 模型?
人工智能·开源
然麦1 小时前
我的dify被精准攻击了(CVE-2025-55182)
人工智能·react.js
袋鼠云数栈1 小时前
企业数据资产管理核心框架:L1-L5分层架构解析
大数据·人工智能·架构