正运动技术
正运动技术

协助伙伴成功,是我们的价值所在

The value of Zmotion is to bring customers more success!

首页 / 支持与服务 / 技术分享

Technical support

技术分享

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

  一、图像通道原理


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


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


  二、背景


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


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


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



  三、VPLC控制器


  (一)VPLC516E构架图


  1.png


  (二)课前准备


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


  2.VPLC516E一台


  3.24V直流电源一个


  4.网线一根


  5.WinSCP软件


  6.电线若干


  四、课程知识点


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


 2.png


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


  2-1.png


  五、软件实现


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


 3.png


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


  4.png


  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_img


GLOBAL SUB hmi_init()

    ZV_LATCHCLEAR(0) '将锁存通道 0 清零

    ZV_LATCHCLEAR(1) '将锁存通道 1 清零

    d_use_ColorImg=0

END 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 then

         ZV_LATCH(Image,0) 

      endif  

      if d_use_ColorImg=1 then

         ZV_LATCH(GImage,0) 

      endif    

      if d_use_ColorImg=2 then

         ZV_LATCH(RImage,0) 

      endif    

      if d_use_ColorImg=3 then

         ZV_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.png

  


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


GLOBAL SUB btn_grayImg() 

    ZV_RGBTOGRAY(Image,gray)            'RGB图像转灰度图

    ZV_LATCH(gray,1)                    '将图像显示到锁存通道编号为1的锁存区域

END SUB


  6.png


  6.效果演示。



  7.png


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


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


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

邮箱留言

Copyright © 2013 正运动技术有限公司 Design by Zmotion 版权所有   粤ICP备13037187号    Powered by www.zmotion.com.cn 运动控制器-运动控制卡

在线咨询