Halcon颜色通道的处理decompose3/image_to_channels/channels _to _image

Halcon颜色通道的处理

文章目录

  • Halcon颜色通道的处理
    • 一. 图像的通道
    • 二. 访问通道
      • 1.访问通道
      • 2.获取通道的数量
    • 三. 通道分离与合并
      • 1. decompose3算子
      • 2. image_to_channels 算子
      • 3. compose3算子
      • 4. channels_to_image算子
    • 四. 处理RGB信息

由于彩色图像通常包含不止一个通道,因此检测目标在不同的通道图像中的表现形式也不同。通过访问通道、分解或合并通道,可得到合适的、有助于区分目标的图像。

一. 图像的通道

图像的通道是图像的组成像素的描述方式。举例来说,如果图像全部由灰色的点组成,只需要用一个灰度值就可以表示这个点的颜色,那么这个图像就是单通道的。如果这个点有彩色信息,那么描述这个点需要用到R、G、B3个通道,即用红色分量的颜色数量、绿色分量的颜色数量、蓝色分量的颜色数量共同描述这个点的颜色。因此,这样的彩色点组成的图像就具有3个通道。
如果除了R、G、B颜色信息外,还想要用一张灰度图表示像素的透明度,像素点在灰度图上对应的值是0,表示像素完全不发光;对应的值是255,表示像素完全显示,那么这个点就加入了透明度信息,因而有4个通道。这样的点组成的图像就是一幅四通道图像。

二. 访问通道

与访问通道相关的Halcon算子有很多,本小节举例说明两种。

1.访问通道

如要获得某一个指定通道的图像,可以使用access_channel算子。举例如下:

read_image (MultiChannelImage, 'beads.jpg')
access_channel (MultiChannelImage, Red, 1)

以上代码表示从名为MultiChannellmage的图像中取出序号为1的通道图像,存储并命名为Red。

2.获取通道的数量

使用count_channels算子,将返回输入图像中的通道数量。举例如下:

read_image (MultiChannelImage, 'beads.jpg')
count_channels (MultichannelImage, NumOfChannels)

以上代码表示MultiChannelImage 图像中的通道数量,且这一数量信息存储在NumOfChannels变量中。

三. 通道分离与合并

有时完整的RGB信息对于图像分析并没有明显的帮助,特定的颜色反而能帮助区分目标对象。例如,白色布料上的淡紫色花纹在蓝色通道中可能会看不出来,但在红色和绿色通道中却显而易见。因此,可以使用色彩分离的方法,利用某一个通道中的颜色差别,区分出目标物体和背景。注意,白色包含R、G、B3种颜色,且3种颜色的分量都达到了最大值,而淡紫色可能只在蓝色通道中达到了最大值,因此在蓝色通道中显示不出来。

1. decompose3算子

decompose3算子是比较常见的通道分离方法,对于RGB图像来说,如果要分离出3种颜色分量,在Halcon中可以使用decompose3算子进行RGB颜色的通道分离。举例如下:

read_image (MultiChannelImage, 'beads.jpg')
decompose3 (MultiChannelImage, Red, Green, Blue)

这里读取一个多通道的彩色图像,然后使用decompose3算子将其分割为单个通道的图像,decompose3算子的第1个参数为输入图像的名字,后面的3个参数分别对应输出的3个颜色通道的图像名字。程序运行的效果如图所示。
在这里插入图片描述
图(a)为输入的彩色图像,图(b)~(d)分别对应红色、绿色、蓝色通道的图像。

2. image_to_channels 算子

除了3个通道的图像分离以外,也可以使用decompose4算子、decompose5算子、decompose6算子进行多个通道图像的通道分离。还可以使用image_to_channels算子将一幅包含多通道的图像分解为包含多个单通道图像的数组。举例如下:

read_image (MultiChannelImage, 'beads.jpg')
image_to_channels (MultichannelImage, ImageArray)

该段代码运行后,MultiChannelImage的单个通道图像都将被存储在ImageArray数组中。

3. compose3算子

该算子的功能与decompose3算子正好相反,是将3个通道的图像合并起来。举例如下:

read_image (MultiChannelImage, 'beads.jpg')
decompose3 (MultiChannelImage, Red, Green, Blue)
compose3 (Red, Green, Blue, MultiChannelImage)

compose3算子的前3个参数为输入的3个通道的图像,最后一个参数为输出的结果图像。将上文程序分解出的RGB图像作为compose3算子的输入,并进行通道合并,将得到通道分离前的原始图像。
同样,如果有多个通道的图像,还可以分别使用compose4算子、compose5算子、compose6
算子对四通道、五通道、六通道的图像进行合并。

4. channels_to_image算子

该算子的功能与image_to_channels算子正好相反,是将数组内的单通道图像合并成一幅多通道图像。举例如下:

read_ image (Images, ['pico','picl','pic2'])
channels _to _image (Images, MultiChannelImage)

该段代码运行后,Images 数组中的图像将成为MultiChannelImage的一个通道。
可以使用access_channcl算子访问指定的通道图像。

四. 处理RGB信息

分解得到图像的颜色通道之后,可以根据特定的通道图像的颜色特征提取出目标物体。但有时要提取的物体可能有复杂的颜色,无法依赖单一通道进行分割,这时可以进行更进一步的操作。这里可以使用sub_image算子对通道图像做减法运算,以提取出目标色彩区域。举例如下:

read_image (Image, 'data/beads')
decompose3 (Image, Red, Green, Blue)
sub image (Blue, Red, BlueSubRed, 1, 128)
sub image (BlueSubRed, Green, BlueSubRedGreen, 1, 128)
threshold(BlueSubRedGreen, BlueRegion, 230, 255)

图(a)为蓝色通道图像;图(b)为蓝色通道图像与红色通道图像相减的结果;图©为蓝色通道图像与红色通道图像相减后再与绿色通道图像相减的结果:图(d)为在图(c)图像上进行阈值分割,提取出的蓝色珠子的颜色区域。
在这里插入图片描述
除了减法操作外,也可以进行两幅图的相加、相乘、相除等操作,还可以对单个通道进行直方图均衡、局部均衡、亮度控制等操作。应根据实际检测的需求对通道进行合适的操作,在此不一一详述。

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

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

相关文章

拍照就能建模!手机就能访问! 这个技术正成为宣传新手段!

随着人工智能技术的不断进步,现在可以通过拍摄照片结合AI技术来实现3D模型生成。这种技术的出现, 不仅能更加方便快捷地创建3D模型,而且还能真实复原现实中物件的质感、纹理等。同时,极大地降低了各行业对3D技术的应用门槛&#x…

中科院1区TOP,Elsevier出版社,均1-2个月录用!检索超稳!

【SciencePub学术】本期,小编给大家推荐的是一本Elsevier旗下、工程技术领域、影响因子为6.0的中科院1区TOP。其详情如下: 期刊简介 TRIBOLOGY INTERNATIONAL ISSN:0301-679X E-ISSN:1879-2464 IF(2022&#x…

ES6+ 面试常问题

一、let const var 的区别 1. var: 没有块级作用域的概念,有函数作用域和全局作用域的概念全局作用域性下创建变量会被挂在到 windows 上存在变量提升同一作用域下,可以重复赋值创建未初始化,值为 undefined 2. let&#xff1a…

最新AI系统ChatGPT网站H5系统源码,支持AI绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

经典文献阅读之--OccNeRF(基于神经辐射场的自监督多相机占用预测)

0. 简介 作为基于视觉感知的基本任务,3D占据预测重建了周围环境的3D结构。它为自动驾驶规划和导航提供了详细信息。然而,大多数现有方法严重依赖于激光雷达点云来生成占据地面真实性,而这在基于视觉的系统中是不可用的。之前我们介绍了《经典…

【 ATU NXP-SBC 系列 】FS26XX GUI_OTP烧录与模拟操作

1. 概述 FS26XX 为了其安全性需求,针对重要暂存器的配置,使用 one time program 的功能,避免不小心修改重要暂存器,导致发生重大意外,使系统丧失功能安全性。FS26XX 也可以让使用者先测试 OTP 后的结果功能&#xff0…

微信小程序开发系列-03全局配置中的“window”和“tabBar”

微信小程序开发系列目录 《微信小程序开发系列-01创建一个最小的小程序项目》《微信小程序开发系列-02注册小程序》《微信小程序开发系列-03全局配置中的“window”和“tabBar”》《微信小程序开发系列-04获取用户图像和昵称》《微信小程序开发系列-05登录小程序》《微信小程序…

C# 如何使用?、? 和 ??的区别和使用案例

目录 ? 运算符 使用案例 ?? 运算符 使用案例 总结 在 C# 中,? 和 ?? 运算符在处理 null 值时起着不同的作用,并且具有特定的使用场景。 ? 运算符 ? 运算符,也称为空条件运算符,在 C# 6.0 及更高版本中引入。它允许…

08-React路由(Router 6版本)

Router5和Router6的变化 部分标签产生了变化,之前的标签都有了替(主要集中在Route匹配上),所以这里先回顾一下Router5,同时引出Router6的一些新特性 其次,React官方在推出Router6之后,就明确推…

OpenCV-Python(9):图像基础操作

目录 学习目标 获取图像像素并修改像素值 获取图像属性 图像ROI 拆分及合并图像通道 图像边缘扩充 学习目标 获取像素值并修改获取图像的属性(信息)图像的ROI获取图像通道拆分及合并图像扩边 获取图像像素并修改像素值 几乎所有这些操作与Numpy 的关系要比与OpenCV 的…

【电商项目实战】MD5登录加密及JSR303自定义注解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《电商项目实战》。🎯🎯 &am…

飞书文档如何转markdown

飞书文档如何转markdown 实现效果实现步骤其他方法 实现效果 导出的结果挂在这了 https://thinkasany.github.io/docs/#/ 实现步骤 以https://upyun.feishu.cn/docx/KERsd1DpioPb1xxye9VcuXbhnBC这篇文章为例 使用工具 https://github.com/Wsine/feishu2md,提供了…

案例-旋转的太极图案(HTML+CSS)

使用css的动画变换效果完成“ 旋转太极“。 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>*{margin: 0;padding: 0;background-color: antiquewhite;}.tj{width: 0;height: 300px;/* border…

AWTK 开源串口屏开发(4) - 采用数据

AWTK 开源串口屏开发 - 数据采集 1. 功能 数据采集是一个常用的功能&#xff0c;MCU 定时采集数据&#xff08;如环保设备定时采样空气中的污染物&#xff09;&#xff0c;并发送采样数据到串口屏&#xff0c;串口屏可以显示采样数据&#xff0c;也可以对采样数据进行管理&am…

68.乐理基础-打拍子-大附点与变体

上一节内容&#xff1a;66.乐理基础-打拍子-小切分-CSDN博客&#xff0c;只所以没有67因为67可以不用知道&#xff0c;67节内容在&#xff1a;※-打拍子&#xff08;8&#xff09;-一拍内的变体1-乐理教程-腾讯课堂 (qq.com) 大附点&#xff1a;大附点这个名字不是通用的&…

基于element-ui table组件的二次封装

文章目录 配置数据基础分析封装 el-table-column使用插槽强化结语 相信 element-ui 大家都有所耳闻&#xff0c;table 也是老朋友了&#xff0c;不过在使用它的时候大家是怎么使用的呢&#xff1f;是直接在官网上cv使用吗&#xff1f;这种方式&#xff0c;我相信写起来会有点小…

【教学类-43-02】20231226 九宫格数独2.0(n=9)(ChatGPT AI对话大师生成 回溯算法)

作品展示&#xff1a; 背景需求&#xff1a; 大4班20号说&#xff1a;我不会做这种&#xff08;九宫格&#xff09;&#xff0c;我做的是小格子的&#xff0c; 他把手工纸翻过来&#xff0c;在反面自己画了矩阵格子。向我展示&#xff1a; “我会做这种&#xff01;” 原来他…

OCR在审核应用落地

本文字数&#xff1a;6686字 预计阅读时间&#xff1a;35分钟 01 背景 1、业务背景 在传统视频审核场景中&#xff0c;审核人员需要对进审视频中的文字内容进行逐一审核&#xff0c;避免在文字上出现敏感词、违禁词或者广告等相关词汇。这种人工审核费时费力&#xff0c;并且由…

python+django网上购物商城系统o9m4k

语言&#xff1a;Python 框架&#xff1a;django/flask可以定制 软件版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发工具pycharm/vscode都可以 前端框架:vue.js 系统使用过程主要涉及到管理员和用户两种角色&#xff0c;主要包含个…

TSR勾画学习

1&#xff1a;勾画建议 文献&#xff1a;Scoring the tumor-stroma ratio in colon cancer: procedure and recommendations 主要讲述的是结肠癌(CRC)的勾画建议和流程。 1&#xff0c;切片选择建议&#xff1a; 原发肿瘤的载玻片最具侵袭性的部分&#xff08;即常规病理学…