程序地带

机器视觉学习笔记(七)——灰度分析与变换(基于LabVIEW)


图像分析:将图像的像素灰度统计和测量技术结合,是机器可以理解图像内容,并提取特征信息以实现智能检测目的的学科,侧重于对图像内容的分析,解释和识别。


图像灰度分析是图像中最基本的内容;直方图是最基本的图像分析工具(它不仅可以判断图像中是否包含可从背景中分割出的区域,图像的饱和度和对比度是否符合检测任务,还能确定应该如何对图像采集系统进行调整以获得较高质量的图像)除了直方图外,线灰度分布曲线(line profile),图像线灰度均值(linear averages),ROI边界灰度曲线,图像形心(centroid,几何中心),图像质心(central of mass),灰度定量描述(grayscale quantify)以及图像结构相似度(structure similarity index)分析也是较为有效的图像灰度分析工具。


直方图

图像的直方图包含了丰富的图像信息,描述了图像的灰度级内容,反映了图像的灰度分布情况;它以图表(横坐标为灰度级,纵坐标为各个灰度级在图像中出现的频率)的方式显示了图像中每个灰度级与其对应像素数量的关系;从概率论的角度,灰度出现的频率可以看作其出现的概率,这样直方图就对应概率密度函数(Probability Density Function,PDF),而概率分布函数就是直方图的累计和,和概率密度函数的积分。


对于数字图像,常见的直方图类型由线性直方图(linear histogram)【横轴为灰度级,纵轴为灰度级对应像素数】和累计直方图(cumulative histogram)【横轴为灰度级,纵轴为所有小于或等于灰度级k的像素数量之和】


图像直方图的作用


判断图像中是否包含可以清晰地从背景中分割出的区域分析图象的亮度和对比度是否满足机器视觉系统的检测要求确定如何对图像采集系统进行调整改进

图像的纵坐标既可以用线性方式表示也可以用对数方式表示。对数函数可以扩展较小值而压缩较大值,若以对数方式显示直方图的纵轴,则在图像中出现较少的灰度图像将被扩展,出现较多的灰度像素将被压缩。


IMAQ Histograph:计算图像直方图信息,返回LabVIEW格式的直方图数据


IMAQ Histogram:计算图像直方图相关信息



灰度直方图

计算某一指定的ROI时,先用IMAQ ROIToMask将ROI转为图像遮罩,再将其引用传递给这两个函数的输入参数ImageMask。


直方图匹配(histogram matching)/直方图修正:将图像直方图(或其中某一灰度范围)变成某种特定形状的变换过程


直方图均衡(histogram equalization):特殊情况下,若将图像的直方图匹配成在整个灰度范围内均匀分布(即在每个灰度级上都具有相同的像素数)的过程。


常用于调整多幅图像的对比度,尤其当图像中的有用数据与对比度相当接近的情况;对于背景和前景都太亮或者太暗的图像及其有用,以较小的计算量突出图像细节,且能实现可逆操作;中心思想是把原始图像 的灰度直方图从比较集中的某个灰度区间变成在全部范围内的像素数量大致相同;本质上是通过扩大灰度量化间隔来扩展图像中像素较多的灰度级,压缩像素较少的灰度级来实现;缺点是扩大量化间隔会使原图中灰度不同的像素经处理后可能变得相同;虽然均衡化后的图像灰度动态范围有所增加,但是图像的量化级别将因此有所减少,而且不同的灰度区域之间也会出现明显的边界(伪轮廓);不对处理的数据进行选择,可能会增加背景噪声的对比度,降低有用信号的对比度。

IMAQ Equalize:实现图像直方图的匹配与均衡



IMAQ Equalize和直方图匹配

直方图均衡

IMAQ LineProfile:计算图像中某一线段上各像素的灰度,并返回LabVIEW Graph格式的数据


IMAQ Centroid:计算图像或其中某一部分的几何中心


IMAQ LinearAverages:计算图像或某个部分的平均灰度值


IMAQ ROIProfile:计算ROI边界上各像素点的灰度值,并返回LabVIEW Graph格式的数据


IMAQ Extract Curves:根据预先设置的参数提取图像中的曲线


IMAQ Quantify 2:返回图像或其中某一部分灰度的定量描述参数,包括像素灰度均值,标准差,最大值和最小值。图像或其中某一区域可由数字标记过的图像遮罩分为多个区域,也可返回针对每个区域的灰度定量描述参数。


IMAQ SSIM:通过对比图像与参考图像结构的相似程度来判断图像的质量


IMAQ Particle Analysis Report:对二值图像进行颗粒分析,并返回监测到的颗粒数量和包含某一指定的与颗粒相关的参数值二维数组


IMAQ Particle Analysis:对二值图像进行颗粒分析,并返回检测到的颗粒数量和包含某一指定的与颗粒相关的参数值二维数组


IMAQ Block Statistics:计算指定大小图像块(默认32*32)的像素统计值,包括均值,标准差,最大值和最小值


彩色图像直方图计算操作函数:


IMAQ ColorHistograph:计算彩色图像各图层分量的直方图信息,返回LabVIEW Graph格式的直方图数据,支持RGB HSL HSV和HSI 4种色彩空间


IMAQ ColorHistogram:计算图像直方图相关信息,返回直方图数据报表,支持RGB HSL HSV HSI CIE L*a*b*和CIE XYZ 6种色彩空间


IMAQ ColorEqualize:对彩色图像的各图层进行直方图匹配或均衡操作



彩色图像直方图计算

 


灰度分析

线灰度曲线(line profile):绘制了沿图像中某条线段的像素灰度变换



线灰度曲线实例

图像线灰度均值(linear averages):可以计算整个图像或指定矩形区域内像素的4种类型线灰度均值,包括X轴方向上每列像素的灰度线性平均值,沿Y轴方向上每行像素的灰度线性平均值,沿坐下到右上角对角线方向,垂直于该对角线的像素灰度均值,以及沿左上角到右下角对角线方向上垂直于该对角线的像素灰度均值。


ROI边界灰度曲线:从矩形ROI的左上角开始,按照顺时针方向绘制边界所覆盖的各像素灰度



图像线灰度均值与ROI边界灰度曲线

图像形心(centroid):图像的几何中心,指集合区域内所有像素坐标值在各方向上的平均,若区域内像素数量为W*H(W为宽,H为高)则几何中心用一下公式:


                                                                                             x_{centroid}=frac{sum_{i=1}^{W}{x_i}}{W}                   y_{centroid}=frac{sum_{i=1}^{H}{y_i}}{H}


图像质心(center of mass):质量的中心,是一个假象点,是组成目标物的所有质点质量分布的平均位置。



图像形心实例

图像灰度定量描述(grayscale quantify):对整个图像或图像中某个区域内的像素灰度进行定量计算的过程,包括计算灰度均值,最大值,最小值,像素灰度标准差,区域面积等。


用IMAQ Quantify2返回图像或其中某一区域的定量描述参数,必须使用标记过的遮罩图像(labeled image mask)来说明各个区域,各个区域均使用一个数字标记。



IMAQ Quantify2

IMAQ Quantify2和IMAQ Histogram均可计算得到某些相同的灰度数据,但是前者需要以标记过的遮罩图像作为输入。


结构相似性


灰度变换

图像灰度变化(gray scale transformation):是一种常见的图像点运算,通过对输入图像像素进行各种变换,将像素灰度值映射为仅由对应输入像素灰度决定的像素值;灰度变换分为线性变换函数和非线性变换函数两大类。常用的非线性变换包括对数变换,指数变换和幂变换,而幂变换又分为“幂值大于1”和“幂值在0~1之间”两种情况。


灰度变换函数分类
功能类别变换备注拉伸或压缩图像灰度线性变换(linear)

y=kx+b

k>1:拉伸图像整体灰度,输出图像对比度增大;

0<k<1:压缩图像整体灰度,输出图像对比度下降;

b>0:图像整体变亮

b<0:图像整体变暗

k=-1且b=0/255:8bit灰度图被反转

分段线性(piecewise)

 拉伸或压缩图像的某一灰度范围(扩展重点区域灰度,压缩不感兴趣的区域灰度)

压缩低灰度区域,拉伸高灰度区域以及图像整体变暗指数变换(exponential)

y=e^{^{x}}

y=cx^{^{k}}

y=x^{2}

c,k为常数

k值越大,幂变换曲线越陡峭;

指数变换相对于幂变换的曲线较陡峭;

幂值大于1的变换(power X)平方变换(square)拉伸低灰度区域,压缩高灰度区域以及图像整体变亮对数变换(logarithmic)

y=clog(1+x))

y=cx^{frac{1}{k}}

y=x^{frac{1}{2}}

c,k为常数;

k值越大,幂变换曲线越陡峭;

对数变换相对于幂变换的曲线较陡峭;

幂值在0~1之间的变换(power 1/X)

平凡根变换(square root)

图像灰度变化的主要作用是调整图像的亮度,增强图像的对比度以突出图像中重要信息。


灰度变换函数:


IMAQ MathLookup:根据预定义的灰度查找表(LUT)对输入图像或其中某一灰度区域进行灰度变换,预定义了7种LUT变换。线性(linear),指数(Exp),对数(Log),平方(Square),平方根(Square root),幂值大于1,幂值在0~1之间的幂变换


IMAQ UserLookup:根据用户自定义的灰度查找表对输入图像或其中某一灰度区域进行灰度变化


IMAQ BCGLookup:对输入图像或其中某一灰度区域进行亮度,对比度和伽马矫正


IMAQ Threshold:对输入图像或其中某一灰度区域进行阈值变换


IMAQ MultiTreshold:对输入图像中的多个灰度区域进行阈值变换



灰度变换

IMAQ BCGLookup

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45482443/article/details/111246368

随机推荐

软件测试理论2

1.软件质量的特征按照软件质量国家标准GB-T8566–2001G,软件质量可以用下列特征来评价:功能特征,可靠特征,易用特征,效...

夏夕-空 阅读(378)

基本概念

基本概念互联网原理IP概念:IP是InternetProtocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高...

tianfen_auster 阅读(634)

mybatis 使用in 查询时报错_SSM之Mybatis

概述Mybatis是一个持久层框架,它封装了JDBC操作的细节,使用了ORM思想实现了对结果集的封装ORM:ObjectRelationalMappging(...

苍苍欧巴 阅读(534)