LabVIEW灰度图像操作与运算(基础篇—2)

完成机器视觉系统的搭建、校准并且确认其可以采集检测目标的图像后,就可以集中精力开发各种图像分析、处理以及模式识别算法。为了设计准确性和鲁棒性都较高的算法,并提高其执行速度,一般需要事先对整幅图像或部分像素进行操作,使图像尺寸或形状更适合计算机处理。某些时候还要对图像进行算术和逻辑运算,以消除噪声或提高图像的对比度。这些前期的图像操作或运算不仅会在空间域增强图像,还能极大地提高后续算法的执行速度及其有效性。

1、像素操作

像素操作(Pixel Manipulation)通常用在各种图像处理算法之前,为算法的顺利执行做准备。像素操作具体包括:读取或设置图像中的某个像素值、更改某个区域的所有像素值、逐行或逐列读取或更改像素值等。下图显示了NI Vision提供的像素操作函数,它们位于LabVIEW的视觉与运动→Vision Utilities→Pixel Manipulation函数选板中。

函数的说明和使用可参见帮助文档:

使用LabVIEW更改单点像素值、行列像素值、线段所覆盖像素值以及图像填充的实际例子,加深对像素操作的理解和应用。

程序设计思路如下所示:

  • 程序开始从文件中读入图像Lena,此后IMAQ SetPixelValue将坐标为(200,200)的像素值更改为255(白色),并用IMAQ GetPixelValue读取改动后的值,以确认更改成功。
  • IMAQ SetRowCol可以更改图像中某一行或某一列的数据,由于设置了行参数Row为FALSE,因此它将使用Pixels (U8)数组中的值更改编号为50的一列数据。
  • 程序中Pixels (U8)数组中仅有两个元素,此时,进行替换时只有前两个像素被更改。
  • IMAQ GetRowCol可以读取更改后的第50列像素值,以确认像素更改操作的结果。
  • IMAQ GetPixelLine可以返回 (10,10)和(60,60)两点所确定的线段覆盖的像素值,这些返回的像素值被Replace Array Subset用含有100个元素的子数组替换后,再次作为IMAQ SetPixelLine的输入,用于更改线段所覆盖的像素值。
  • 程序中IMAQ Filllmage会用黑色(像素值为0)对图像进行填充,由于使用了图像遮罩,因此只有遮罩图像中非零像素所覆盖的部分会被填充。默认情况下,图像遮罩会被放置在使用它的图像原点,程序并未使用默认值,而是用IMAQ SetOffset将图像遮罩左上角移动到使用它的图像中(220,220)位置。

程序设计如下所示:

程序运行效果如下所示:

程序下载请参见:https://download.csdn.net/download/m0_38106923/18397695 

2、灰度图像操作

图像操作(Image Manipulation)是指对图像执行的平移(Shift/Translation)、旋转(Rotate)、缩放(Zoom)、拉直(Unwrap)等几何变换以及重新采样、对称

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_44079197

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值