Halcon 学习笔记八:颜色识别

article/2025/8/25 20:23:43

Halcon 学习笔记八:颜色识别

  • 一、图像处理需要的知识
  • 二、图像处理的预处理和分割过程
  • 二、颜色识别的方法
  • 三、例子一
  • 四、例子二
  • 五、例子三

一、图像处理需要的知识

1.图像处理基础(rgb(hsv),gray)
2.图像灰度变换(scale_img)
3.图像基础(emphasize)
4.图像几何变换(仿射变换,极坐标变换)
5.图像分割(blob分析、边缘检测、reduce_domain)
6.图像的频域(fft_img)
7.图像形态学
8.图像复原
9.运动图像
10.图像配准(模板匹配)

二、图像处理的预处理和分割过程

在这里插入图片描述
在这里插入图片描述

二、颜色识别的方法

颜色识别的方法
1.RGB->HSV (缺点:受光照影响严重)
重点分析H分量和S分量
2.分类器识别颜色

三、例子一

打开颜色识别的例子
在这里插入图片描述
通过对RGB转成HSV,然后因为要选出黄色,从而去限制色度和饱和度的范围,因此可以用thresh去限制饱和度和色度的范围。最后通过blob分析,获得指定颜色的物体。
完整代码

* color_simple.hdev: segment yellow cable in HSV color space
dev_close_window ()
dev_open_window (0, 0, 640, 480, 'black', WindowHandle)
for i := 1 to 2 by 1* 读取图片read_image (Image, 'cable' + i)* 将RGB图根据通道拆分成三张图decompose3 (Image, Red, Green, Blue)* 将RGB转为HSVtrans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')* 对饱和度阈值处理(限制饱和度范围)threshold (Saturation, HighSaturation, 100, 255)reduce_domain (Hue, HighSaturation, HueHighSaturation)* 对色度阈值处理(限制色度范围)threshold (HueHighSaturation, Yellow, 20, 50)* 计算连通域connection (Yellow, ConnectedRegions)* 选择形状(特征)select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 0)* 开操作closing_circle (SelectedRegions, Yellow, 3.5)* 获得目标reduce_domain (Image, Yellow, ImageReduced)dev_display (HueHighSaturation)dev_display (ImageReduced)stop ()
endfor

四、例子二

在这里插入图片描述
这个例子,和例子一 同样的方式,只不过这个对 好几个颜色物体进行了检测,并且输出message
完整代码

* color_fuses.hdev: classify fuses by color
dev_update_window ('off')
* ****
* step: set up fuse properties and hue ranges
* ****
FuseColors := ['Orange','Red','Blue','Yellow','Green']
FuseTypes := [5,10,15,20,30]
* HueRanges: Orange 10-30, Red 0-10...
HueRanges := [10,30,0,10,125,162,30,64,96,128]
Count := 0
dev_close_window ()
dev_open_window (0, 0, 800, 600, 'black', WH)
while (Count <= 4)* ***** step: acquire image* ****read_image (Image, 'color/color_fuses_0' + Count)dev_display (Image)set_tposition (WH, 12, 512)write_string (WH, 'color/color_fuses0' + Count + '.png')* ***** step: extract saturated hues* ****decompose3 (Image, Red, Green, Blue)trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')threshold (Saturation, Saturated, 60, 255)reduce_domain (Hue, Saturated, HueSaturated)for Fuse := 0 to |FuseTypes| - 1 by 1* ***** step: classify specific fuse* ****threshold (HueSaturated, CurrentFuse, HueRanges[Fuse * 2], HueRanges[Fuse * 2 + 1])connection (CurrentFuse, CurrentFuseConn)fill_up (CurrentFuseConn, CurrentFuseFill)select_shape (CurrentFuseFill, CurrentFuseSel, 'area', 'and', 6000, 20000)area_center (CurrentFuseSel, FuseArea, Row1, Column1)dev_set_color ('magenta')for i := 0 to |FuseArea| - 1 by 1set_tposition (WH, Row1[i], Column1[i])write_string (WH, FuseColors[Fuse] + ' ' + FuseTypes[Fuse] + ' Ampere')endforset_tposition (WH, 24 * (Fuse + 1), 12)dev_set_color ('slate blue')write_string (WH, FuseColors[Fuse] + ' Fuses: ' + |FuseArea|)endforstop ()Count := Count + 1
endwhile
dev_update_window ('on')

五、例子三

比如要检测橙色的糖豆
在这里插入图片描述
检测的结果
在这里插入图片描述
完整代码

dev_close_window ()
read_image (Image, 'C:/Users/xuheding/Desktop/图片/5.png')
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
dev_display (Image)
decompose3 (Image, Red, Green, Blue)
trans_from_rgb (Red, Green, Blue, Hue, Saturation, intensity, 'hsv')threshold (Hue, Regions, 4, 31)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 9486.24, 12568.8)
opening_circle (SelectedRegions, RegionOpening, 3.5)dev_set_draw ('margin')
dev_set_line_width (3)
dev_set_color ('magenta')
dev_display (Image)
dev_display(RegionOpening)

http://chatgpt.dhexx.cn/article/9GTh1iGL.shtml

相关文章

基于Python的颜色识别器

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 在这篇文章中&#xff0c;我们将展示如何使用Python构建颜色识别器。此过程也称为“颜色检测”。我们将创建一个基本应用程序&#xff0c;该应用程序将帮助我们检测图像…

python颜色识别demo

一般对颜色空间的图像进行有效处理都是在HSV空间进行的&#xff0c;然后对于基本色中对应的HSV分量需要给定一个严格的范围&#xff0c;下面是通过实验计算的模糊范围&#xff08;准确的范围在网上都没有给出&#xff09;。 H: 0 — 180 S: 0 — 255 V: 0 — 255 此处把部分…

openCV-python实现颜色识别

本文将介绍使用OpenCV实现颜色识别的详细步骤 代码。 背景介绍 在截取出模板匹配到的logo区域之后&#xff0c;需要判断logo是什么颜色。本案例中要识别的对象是纯色的所以适用下面的颜色识别方法&#xff0c;有不同需求的请斟酌借鉴。 原理介绍 数字图像处理中常用的采用模型…

python颜色识别,46行代码实现865种颜色识别,看过的都说顶呱呱!

1.先介绍我做的颜色识别的功能&#xff0c;简单的说&#xff0c;就是该脚本可以打开图片&#xff0c;在图片上点击某个区域&#xff0c;可以识别某个区域的颜色&#xff0c;颜色识别准确度很高&#xff0c;很多时候颜色识别是辅助物体的颜色识别&#xff0c;但这个代码你们可以…

OpenCV(Python)颜色识别(一)

1. 基本原理 1.1 彩色模型 数字图像处理中常用的采用模型是RGB&#xff08;红&#xff0c;绿&#xff0c;蓝&#xff09;模型和HSV&#xff08;色调&#xff0c;饱和度&#xff0c;亮度&#xff09;&#xff0c;RGB广泛应用于彩色监视器和彩色视频摄像机&#xff0c;我们平时…

OpenCV颜色识别

彩色模型 数字图像处理中常用的采用模型是RGB&#xff08;红&#xff0c;绿&#xff0c;蓝&#xff09;模型和HSV&#xff08;色调&#xff0c;饱和度&#xff0c;亮度&#xff09;&#xff0c;RGB广泛应用于彩色监视器和彩色视频摄像机&#xff0c;我们平时的图片一般都是RGB…

LabVIEW色彩匹配实现颜色识别、颜色检验(基础篇—13)

目录 1、颜色识别 2、颜色检验 色彩匹配&#xff08;Color Matching&#xff09;是将模板图像与待测图像或其中某一区域的颜色进行比较&#xff0c;判断它们是否相同或相近的过程。它可以用于颜色识别、颜色检验以及彩色对象定位等基于色彩信息比较的应用程序。 色彩匹配通常…

Python 对图片进行颜色识别

场景&#xff1a;在进行压力测试时&#xff0c;需要判断图片的某一块区域是否是黑色 这里使用的是OpenCV库对图片进行颜色的识别&#xff0c;几乎可以识别所有常见的颜色 直接上代码 import cv2 import numpy as np import collectionsclass colorList:def getColorList(sel…

OpenCV颜色识别(所有颜色均可识别)

OpenCV颜色识别实例&#xff08;所有颜色均可识别&#xff09; 欢迎访问我的博客sakuraの绘梨衣 本文中的颜色识别为红色&#xff0c;颜色阈值设置如下&#xff1a; lower_apple np.array([0, 100, 100]) higher_apple np.array([10, 200, 200])识别其他颜色可以参考HSV颜色…

如何实现视觉识别颜色

1. 功能说明 通过摄像头识别特定颜色&#xff08;红、绿、蓝&#xff09;。摄像头采集图像信息并通过WiFi将信息传递给PC端&#xff0c;然后PC端根据比例判断出目标颜色在色盘上的所属颜色后&#xff0c;指针便会指向对应颜色。 红、绿、蓝-色块 2. 电子硬件 本实验中采用了以下…

Halcon——颜色识别提取

文章目录 前言一、颜色识别原理二、颜色识别为什么将其转换至HSV颜色空间三、源代码写在最后 前言 【Halcon】颜色识别提取 这里以嘉庚建筑风格为例~ 一、颜色识别原理 载入图像后&#xff0c;将其转换至HSV颜色空间&#xff0c;通过判断每个像素是否在所选取的范围内&…

颜色识别、轮廓识别-树莓派 Opencv-基于Python学习记录DAY-4

学习颜色识别之前先介绍一下新认识的图像格式HSV&#xff1a; 色调H 用角度度量&#xff0c;取值范围为0&#xff5e;360&#xff0c;从红色开始按逆时针方向计算&#xff0c;红色为0&#xff0c;绿色为120,蓝色为240。它们的补色是&#xff1a;黄色为60&#xff0c;青色为18…

opencv--颜色识别

目录 一、主要函数介绍 二、颜色识别 三、其他相关函数介绍 1. cv2.resize 2. np.array(x,dtype) 3. cv2.inRange() 4. cv2.imshow() 5.cv2. waitKey() 四、掩膜 一、主要函数介绍 通常&#xff0c;相机在RGB颜色模式下工作&#xff0c;但这种模式受到光线的影响较大&am…

颜色识别OpenCV

下面有多种颜色识别方法&#xff0c;可根据需要进行选择 ①colorList.py&#xff08;颜色库&#xff09; import numpy as np import collectionsdef getColorList():dict collections.defaultdict(list)# blacklower_black np.array([0, 0, 0])upper_black np.array([180…

SPSSAU统计分析软件,一键输出三线表格式分析结果

SPSSAU最近和一位朋友聊天&#xff0c;她在写论文&#xff0c;说到自己用SPSS软件对问卷数据做统计分析&#xff0c;做完之后分析结果有了&#xff0c;拿给导师看&#xff0c;但她们导师说&#xff0c;论文中的表格必须是三线表格式&#xff0c;然后她就得要自己手动制作三线表…

SPSS软件的数据分析与GDP和人口老龄化的预测

目录 前言 问题二模型的建立与求解 1.2.1 ARIMA时间序列模型的建立与求解 平稳性检验 的时间序列预测模型的建立与求解 ​​​​​​​模型的检验 ​​​​​​​对于的时间序列预测模型的建立与求解 ​​​​​​​模型的检验 ​​​​​​​ 前言 SPSS软件的数据分析与GDP和…

数据分析与挖掘———SPSS Moderler

数据分析与挖掘———SPSS Moderler 一、Modeler给概述 1、SPSS Modeler基本认识 IBM SPSS Modeler是一组数据挖掘工具&#xff0c;通过这些工具可以采用商业技术快速建立预测性模型&#xff0c;并将其应用于商业活动&#xff0c;从而改进决策过程。 SPSS Modeler提供了各种…

用SPSS做数据分析(1)

写在前面: 爬虫今天停更一天,今天是周六,今天要把最近网课学习SPSS课程做个总结和回顾,明天继续更新爬虫的内容,今天这篇文章主要是SPSS中的数据管理,一些关于数据的简单操作,是属于SPSS中比较基础的内容,希望看完博客能动手亲自实践一下,会有奇效 文章目录 写在前面:SPSS数据…

利用SPSS做数据分析①(了解SPSS)

话不多说&#xff0c;上才艺&#xff0c;BGM&#xff0c;BGM&#xff0c;BGMBGM。。。哈哈哈哈 不闹了&#xff0c;接下来让我们一起认识一个非常好用的数据分析工具&#xff1a;SPSS 1、SPSS是什么&#xff1f; SPSS是广大统计爱好者和数据分析师最熟悉的名字&#xff0c;它…

如何用SPSS进行数据分析?

1.什么是SPSS SPSS是社会统计科学软件包的简称&#xff0c; 其官方全称为IBM SPSS Statistics。SPSS软件包最初由SPSS Inc.于1968年推出&#xff0c;于2009年被IBM收购&#xff0c;主要运用于各领域数据的管理和统计分析。作为世界社会科学数据分析的标准&#xff0c;SPSS操作…