一、图像通道原理

图像通道是图像组成像素的一种描述方法。例如,如果图像的像素点全是灰色的点组成,那么它只需要一个数值来描述它,就是单通道。

如果图像的像素点有彩色信息,那么则需要用R、G、B三种颜色来描述它,就是三通道,即用红色分量的颜色数量、绿色分量的颜色数量、蓝色分量的颜色数量共同描述这个像素点的颜色,因此,这张彩色像素点组成的图像就具有3个通道。

二、背景

机器视觉由于彩色图像通常包含不止一个通道,因此检测目标在不同的通道图像中的表现形式也不同。可以通过访问锁存显示其中一个通道的图像、分解和合并通道,可得到合适的、有助于区分目标图像。

同时彩色图像在做相关的图像处理时需先转化为灰度图才能做后续的一系列的图像处理。

在上期课程中,我们讲述了如何使用VPLC系列视觉运控一体机实现相机采集和保存图像的课程。本期课程正运动小助手给大家分享一下VPLC系列视觉运控一体机实现图像颜色通道切换和RGB图转灰度图的课程。

【视觉运控一体机小课堂】三分钟实现换图像颜色通道切和RGB图转灰度图的功能

三、VPLC控制器

(一)VPLC516E构架图

(二)课前准备

1.电脑一台,安装ZDevelop3.10以上版本软件

2.VPLC516E一台

3.24V直流电源一个

4.网线一根

5.WinSCP软件

6.电线若干

四、课程知识点

1.RGB图像通道分解:使用ZV_IMGSPLIT3指令将RGB图分解为三个独立的通道。

2.RGB图转灰度图:使用ZV_RGBTOGRAY指令将RGB图像转为灰度图像。

五、软件实现

1.打开ZDevelop软件:新建名称为“图像颜色通道切换和RGB图转灰度图示例.zpj”项目→新建HMI文件→新建main.bas文件(用于编写界面响应函数、并开启HMI自动运行任务)→文件添加到项目。

2.设计HMI主界面和关联它的控件变量。

3.编写HMI界面按下扫描相机按钮响应的函数,并去关联它的动作函数名。

ZVOBJECT Image                          '定义图像变量ZVOBJECT RImage                         '定义红色通道的图像变量ZVOBJECT GImage                         '定义绿色通道图像变量ZVOBJECT BImage                         '定义蓝色通道图像变量GLOBAL DIM d_use_ColorImg               '定义切换显示哪个颜色通道图像的标志d_use_ColorImg=0                        '切换原格式图像d_use_ColorImg=1                        '切换绿色通道d_use_ColorImg=2                        '切换红色通道d_use_ColorImg=3                        '切换蓝色通道ZVOBJECT gray                           '定义灰色图像变量RUNTASK 2,btn_GSPLIT_imgGLOBAL SUB hmi_init()ZV_LATCHCLEAR(0) '将锁存通道 0 清零ZV_LATCHCLEAR(1) '将锁存通道 1 清零d_use_ColorImg=0END SUB ''''''''通道分解'''''''通道分解执行的子函数GLOBAL SUB btn_GSPLIT_img()ZV_READIMAGE(Image,"RGB.bmp",0)    '读取...\flash路径下的RGB.bmp原格式图像ZV_IMGSPLIT3(Image, RImage,GImage,BImage)WHILE 1    if d_use_ColorImg=0 thenZV_LATCH(Image,0) endif  if d_use_ColorImg=1 thenZV_LATCH(GImage,0) endif    if d_use_ColorImg=2 thenZV_LATCH(RImage,0) endif    if d_use_ColorImg=3 thenZV_LATCH(BImage,0) endif   WEND  END SUB

4.编写HMI界面按下采集图像按钮时响应的函数,并去关联它的动作函数名。

GLOBAL SUB btn_read_img()  ZV_READIMAGE(Image,"RGB.bmp",0)    '读取...\flash路径下的RGB.bmp原格式图像ZV_LATCH(Image,1)                   '将图像显示到锁存通道编号为0的锁存区域END SUB

5.编写HMI界面按下图像转灰按钮时响应的函数,并去关联它的动作函数名。

GLOBAL SUB btn_grayImg() ZV_RGBTOGRAY(Image,gray)            'RGB图像转灰度图ZV_LATCH(gray,1)                    '将图像显示到锁存通道编号为1的锁存区域END SUB

6.效果演示。

本次,正运动技术【视觉运控一体机小课堂】三分钟实现图像颜色通道切换和RGB图转灰度图的功能,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

【视觉运控一体机小课堂】三分钟实现图像颜色通道切换和RGB图转灰度图的功能相关推荐

  1. 【视觉运控一体机小课堂】三分钟搭建机器视觉开发环境

    回顾之前课程正运动技术与大家分享了,VPLC系列机器视觉运动控制一体机快速入门和应用案例等系列课程. 今天,我们来讲解一下正运动技术VPLC系列控制器ZDevelop编程软件如何来建立ZVision软 ...

  2. 【机器视觉运动控制一体机小课堂】三分钟进行轮廓提取

    背景 轮廓提取是基于边缘轮廓的算法,可用于需要提取工件轮廓信息后进行加工处理的检测加工项目,可广泛应用于点胶.激光切割.工件打磨等需要提取工件轮廓的领域. 轮廓是一种能存储一系列点集的数据结构,可分为 ...

  3. 【机器视觉运动控制一体机小课堂】三分钟进行灰度匹配

    背景 不同的模板匹配方法,其操作步骤也不一样,其生成模板的方式也有不同的地方,在之前的课程中我们讲述了基于形状的模板匹配,本期课程我们去了解一下基于灰度值的模板匹配. 基于灰度值的模板匹配适用于图像内 ...

  4. 视觉运控平台软件框架(1)---总览

    近期有点空余时间,写了个视觉运控平台框架,该框架集成了运动与视觉部分.视觉和运控部分均可独立配置,并且运控部分的在配置完轴控和视觉部分的图像处理流程后,通过Lua脚本语言灵活控制机器的整个动作流程.这 ...

  5. tensorflow RGB三通道图转换为灰度图

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Blue_Ghost_/article/details/81977987 </div>&l ...

  6. 视觉运控平台软件框架(6)---脚本编辑器Qsci

    qscintilla是Qt开源的文本编辑器,可用之来做一个代码编辑器,它支持包括C,C++,Python,Java等多种编程语言的语法,当然也是支持我们用到的lua的.它完整支持源代码的编辑和调试,包 ...

  7. 环小音三分钟讲解黑石塔英雄模式攻略

    这个游戏的冒险模式打到了黑石塔这个深度,我们将面临更加严峻的挑战,本期节目为大家带来了黑石塔英雄模式通关攻略,为每个BOSS都准备了两套牌组思路网页游戏辅助,H1可以用动物园奴隶战冲过去,H2.H3? ...

  8. 《OpenCV3编程入门》学习笔记5 Core组件进阶(三)分离合并颜色通道

    第5章 Core组件进阶 5.3 分离&合并颜色通道 5.3.1 通道分离:split()函数 1.作用:将一个多通道数组分离成几个单通道数组,公式: 2.原型:(1)void split(c ...

  9. 三:OpenCV图片颜色通道数据转换

    对图片进行操作时经常会涉及到不同通道数据提取,在OpenCV中提供了很多比较便捷的操作函数,本文涉及函数如下: 1.cvtColor 颜色空间转换 2.convertTo 图片数据类型转换 3.spl ...

  10. 【涵子来信python大全】——第二季——opencv第三篇-numpy和颜色通道解释

    各位亲爱的读者,博主: 大家好,我是涵子.今天我们继续讲讲opencv,讲讲其中numpy的秘密.如果不清楚上一章的内容,请从链接或者主页回去先读一遍之前的文章,否则今天的内容很难理解. [涵子来信& ...

最新文章

  1. Arcgis mobile介绍
  2. Bash中的逻辑运算
  3. python函数 global_**Python的函数参数传递 和 global
  4. [水煮 ASP.NET Web API2 方法论](1-6)Model Validation
  5. php 本站已运行了多少天,本站已运行了多少天”代码(js版+php版)
  6. boot入门思想 spring_微服务架构之SpringBoot详解,夯实底层知识,带你轻松入门开发...
  7. 面试—每日一题(4)
  8. 微信小程序码合成图片
  9. python 四象限图_方法:高效处理工作的四象限图
  10. JavaScript中如何删除节点?
  11. 如何加密文件及文件夹
  12. 京东到家机器学习平台建设
  13. 如何理解最小相位信号就是振幅谱相同的信号中群延迟最小的那个?
  14. 多台显示器连接一台服务器,如何用一台显示器连接多台电脑?
  15. cqp VS bitrate VS crf [学习笔记]
  16. php swoole 视频直播_swoole如何实现直播
  17. win10pe命令打开计算机,hp电脑win10如何进pe_惠普电脑怎么进去u盘pe系统
  18. 数据分析师1.4量化交易策略的回测方法和技巧
  19. Git泄露 之Stash(做题过程)
  20. 数据分析学习笔记(六)-- 随机漫步

热门文章

  1. 四 树莓派系统配置及进入图形桌面
  2. (2015秋) 团队博客及分组情况
  3. 湖北飞young使用任意路由器教程
  4. c语言round函数作用,if条件函数怎样和round一起用?!,C++中round函数怎么用
  5. foxmail代理设置方法
  6. JAVA中apply方法的原理_关于学习java函数式接口Function中的apply方法的一些感悟
  7. C/C++常用工具一览
  8. 由浅入深的了解Groovy的基本使用
  9. 肠道微生物会导致你变胖吗?
  10. 解决12306登录验证码python