Halcon颜色识别

news/2024/9/20 2:38:31/文章来源:https://www.cnblogs.com/zeussbook/p/18356815

 

本文接扫halcon识别排序颜色,复杂点在于无法使用单一图像区域识别出5中颜色。这里用到了ImageR 和 ImageS

*颜色识别*定义颜色类型
FushColor := ['black','brown','red','pink','yellow']*颜色对应灰度值
HueRange := [10,51,68,100,145,191,\0,10,30,50]*定义获取到的坐标,展示颜色
Address :=[]*读取图片
read_image (Image, 'D:/hoclan/Color/cable1.png')*分割成三通道,拆分成RGB三种单颜色的图片
decompose3 (Image, \ImageR, ImageG, ImageB)*1.识别前面3种颜色 黑、棕、红
*知识点:彩色图片也可以二值化
*观察发现ImageR比较适合区分 黑、棕、红三色*剪切
reduce_domain (ImageR, ImageR, ImageReduced)*获取窗口句柄
dev_get_window (WindowHandle)*遍历次数,通过样品的个数循环
* tuple_length (FushColor, Length)
Length := |FushColor|
for Index := 0 to 2 by 1*二值化 色调区间段进行颜色识别threshold (ImageReduced, Region1, \HueRange[Index*2], HueRange[Index*2+1])*区域填充(孔洞填充)*fill_up (Region1, RegionFillUp)*连通分割connection (Region1, ConnectedRegions)* 特征检测到目标区域 6585* 按照面积筛序 4421 4731 3400 select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 3000, 5000)*获取位置area_center (SelectedRegions, Area, Row, Column)Address[Index*2] := RowAddress[Index*2+1] := Column*显示信息disp_message (WindowHandle, FushColor[Index], 'image', Row, Column, 'black', 'true')
endfor*2.图像转HSV,用其对图像颜色的敏感来识别 pink 、 yellow
*图像转HSV
trans_from_rgb (ImageR, ImageG, ImageB, \ImageH, ImageS, ImageV, 'hsv')*二值化,观察发现ImageS比较容易区分
threshold (ImageS, Region1, 100, 255)*图像剪切 从色调ImageH 上进行剪切
* 色调H 才适合进行识别
reduce_domain (ImageH, Region1, ImageReduced)*遍历次数,通过样品的个数循环
* tuple_length (FushColor, Length)
Length := |FushColor|
for Index := 3 to 4 by 1*二值化 色调区间段进行颜色识别threshold (ImageReduced, Region1, \HueRange[Index*2], HueRange[Index*2+1])*区域填充(孔洞填充)*fill_up (Region1, RegionFillUp)*连通分割connection (Region1, ConnectedRegions)* 特征检测到目标区域 6585* 按照面积筛序 4421 4731 3400 2615 select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 2500, 5000)*获取位置area_center (SelectedRegions, Area, Row, Column)Address[Index*2] := RowAddress[Index*2+1] := Column*显示信息disp_message (WindowHandle, FushColor[Index], 'image', Row, Column, 'black', 'true')
endfor*3.清空前面的模糊图像,展示颜色对应的坐标
dev_clear_window ()
reduce_domain (Image, Image, ImageReduced)Length := |FushColor|
for Index := 0 to Length-1 by 1*显示信息disp_message (WindowHandle, FushColor[Index], 'image', Address[Index*2], Address[Index*2+1], 'black', 'true')
endfor

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783250.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Deno-入门指南-全-

Deno 入门指南(全)原文:Introducing Deno 协议:CC BY-NC-SA 4.0一、为什么是 Deno? 在过去的 10 年里,当后端开发人员听到“后端的 JavaScript”这个词时,所有人都会立即想到 Node.js。 在这 10 年的开始,也许不会马上出现,但最终它的名字为每个人所知,成为另一种基于…

CSS-框架替代指南-全-

CSS 框架替代指南(全)原文:CSS Framework Alternatives 协议:CC BY-NC-SA 4.0一、为直观的网页设计选择轻量级框架 什么是框架? A framework is a premeditated set of concepts, modules, and standardized criteria that make the task of developing web sites and web…

dicom 字符集的选择

查看字符集读取标签 特定字符集(0008,0005)字符集unicode是字符集,ASCII、GB2312、GBK、GB18030既是字符集也是编码方式,UTF-8只是编码方式 通过字符集中文字符集字符集的选择 不同厂商实现不同 修改导致不可读[ISO / IEC 10646]现在禁止使用除UTF-8的最小长度编码以外的…

日出日落

日出日路,跟日期,经纬度有关,满足以一年为周期,正弦余弦函数.见下图: 在PHP 中date_sunrise和date_sunset函数分别获取日出日落.date_sunrise(strtotime(日期),SUNFUNCS_RET_STRING,$latitude,$longitude,$zenith,$gmtoffset); date_sunset(strtotime(日期),SUNFUNCS_RET_STRIN…

关于小程序使用OCR进行身份证识别

1.第三方插件安装 2.搜索并安装 3.购买免费次数1天100次 https://fuwu.weixin.qq.com/service/detail/000ce4cec24ca026d37900ed551415 4.选中使用的账号 5.支付完成愉快使用 6.正式使用 文档位置:https://mp.weixin.qq.com/wxopen/plugindevdoc?appid=wx4418e3e031e551b…

C 提高篇 c运行库、c标准库、windows API的区别和联系

C运行时库函数C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的。 API函数API函数是操作系统为方便用户设计应用程序而提供的实现特定功能的函数,API函数也是C语言的函数实现的。区别他们之间区别是:API函数是针对操作系统的,C语言运行时函数则是针对C…

本地通过python运行AI大语言模型LLaMa2

什么是Llama2 Llama 全称 large language model, Meta AI 公司2023年发布的开源AI大型语言模型,参数7B~65B。最新版本为Llama 3。 更为详细的介绍可参考,LLaMA - 维基百科,自由的百科全书 (wikipedia.org) 。 什么是llama.cpp? 一个开源c++库,用c++重写了LLaMa的推理代码…

Python一些提高效率的类库和装饰器用法

本文主要是慢慢积累Python中一些能提高效率的类库和装饰器,闲话少说,开始进入主题。 装饰器 装饰器是一种设计模式,用于修改或增强函数、方法或类的行为,而不需要改变其本身的代码。Python中的装饰器通常用@符号和函数来实现。# 自己编写的装饰器 def my_decorator(func):d…

使用 `dd` 备份Ubuntu系统盘

1. 方案概述 dd 是一个低级别的数据复制工具,能够直接将磁盘或分区的内容逐位复制到另一个设备或文件中。使用 dd 备份系统盘可以获得整个系统的精确副本,包括操作系统、配置文件、已安装的软件、以及所有用户数据。 2. 前提条件源设备:包含系统的磁盘(如 /dev/sda) 目标设…

淘宝直播自动回复评论 - 浏览器插件

功能介绍 浏览器插件源码开放,可以随意二次开发,无时间限制,无账号限制,无电脑限制 实现原理,纯浏览器插件实现,监控浏览器界面元素变动,获取直播间或者直播中控后台的评论文本,匹配回复关键词或调用AI接口,再利用js模拟输入和点击等操作 支持以下中控台或直播间地址,…

QC_操作

场景1. MINUS2 如:百乐Step1,q28<>可擦中性笔 →q14使用中性笔 (7) 删除 排除样本(OMIT)

【日记】酸奶冻成冰块了 QvQ(457 字)

正文我不知道一楼的冷藏柜已经修好了,早知道我就把酸奶放一楼了。放在六楼,现在酸奶已经冻成冰块了……今天基本上一整天都在摸鱼看书,中午把经济师报名了,报名费 122 块。有点贵……昨天给全家上了一个 10 万的意外险,包含医疗责任,一共 200 多块钱。但是似乎没办法给兄…