NI Vision Builder AI入门教程第四章 图像增强.docx
- 文档编号:4658811
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:25
- 大小:1.50MB
NI Vision Builder AI入门教程第四章 图像增强.docx
《NI Vision Builder AI入门教程第四章 图像增强.docx》由会员分享,可在线阅读,更多相关《NI Vision Builder AI入门教程第四章 图像增强.docx(25页珍藏版)》请在冰点文库上搜索。
NIVisionBuilderAI入门教程第四章图像增强
第四章图像增强
很多时候,我们采集到的图像并不理想,含有许多噪声、非目标区域、杂点、未完整等等,面对这种情况,进行图像处理时,如果不对原始图像进行增强处理,那么对测量结果会的精度会产生一些影响,例如寻找边缘,如果需要拟合成线的点很离散,那么,拟合出来的线很可能会“漂”的很厉害。
因此,许多情况下,我们需要对原始图像进行增强,以达到更加理想的效果。
如图4-1所示。
图4-1图像增强函数在图像处理中的应用
在图4-1中,我们应用了一个简单的例子,寻找一条边缘。
采集图像后,我们对原始图像创建了一个ROI(RegionofInterest:
兴趣区域、目标区域,图中的绿色框),并对此ROI进行滤波处理,从图中可以看到,绿色框中经过婆婆的图像与外面的图像是不一样的。
这就是图像增强的效果。
当然,例子中的原始图像效果相对较好,增强的效果显现不明显。
下面我们来看一下,图像增强函数选板具体的函数及其使用方法。
图4-2图像增强选板
增强图像中,共有六个可用函数。
利用此六个函数,我们可以在分析图像前,对图像进行预先处理,以提高图像质量。
1. VisionAssistant:
Enhancesimagefeatures,filtersnoise,extractscolorsplanes,andmore.
第一个函数为视觉助手。
在VBAI中也有一个视觉助手,不过这个视觉助手并不像NI视觉开发模块中的视觉助手功能强大,只是包含了一些图像增强的功能。
因为VBAI其它的函数选板中含有大量的分析测量函数,所以,在这个视觉助手中并没有分析测量类的函数。
利用视觉助手可以增强图像特征、过滤噪声、提取颜色平面、图像计算、形态学处理等。
因为其中的函数过多,将会在后面章节中加以详细解释,这里就一笔带过。
2. FilterImage:
Preparesanimageforprocessingsothatyoucanextractonlytheinformationyouneedforprocessing.
第二个函数为图像滤波:
准备一幅图像,提取需要用于处理的信息为后面图像处理。
点击此函数,将会出现此函数的配置选板,如图4-3所示:
图4-3过滤图像配置选板
从图中可以看到,当配置函数时,状态栏为灰色禁用状态,即在配置函数时,状态、连续运行等都是禁用的。
仅有一个运行一次(RunStateOnce)有效,点击此按钮可以运行一次当前滤波及前面采集函数,用于验证滤波的效果。
在界面右下角,我们可以看到配置选板的主体main选项卡,如图4-4所示。
图4-4过滤图像-主体
在配置主体中,我们需要输入步骤名(StepName)、选择目标区域RegionofInterest、是否改变ROI的位置RepositionRegionofInterest、选择参照坐标系(ReferenceCoordinateSystem)等。
StepName步骤名是当前步骤的名称,值得注意的是,步骤名不能以空格开始,即名称前不允许出现空格。
ROI:
目标区域,下面的下拉菜单有两个选项,一个是Constant(常量),另一个是FullImage(整幅图),我们可以选择整幅图,那样就不需要再画ROI,而如果选择常量,则需要手动画ROI。
我们可以利用菜单下面的快捷工具栏,选择合适的工具来画ROI,如图4-5所示。
图4-5ROI工具
ROI工具栏随着选择函数的不同出现的工具也会有不同。
在此处出现了矩形、旋转矩形、椭圆、环形、多边形、徒手。
另外,我们可以利用放大、缩小、原始尺寸、适合屏幕等缩放工具来查看图像,使我们能更好的把握如何设置ROI。
RepositionRegionofInterest:
改变ROI的位置,选择上后,在后面的图像分析处理过程中,可以根据坐标系改变ROI的位置。
ReferenceCoordinateSystem为参考坐标系。
如果没选中改变ROI位置,则ROI以当前默认坐标系为参照,即图像左上角为原点,左到右为X轴,上到下为Y轴。
此功能必须在前面的步骤中已经建立了坐标系后才可使用,关于坐标系的建立,将在后面的定位特征章节介绍。
图4-6过滤图像-滤波器选择
如图4-6中,为滤波Filters选项卡。
可用的滤波器类型很多。
OriginalImage为原始图像;Smoothing为平滑型滤波器,包括LowPass低通、LocalAverage局部平均、Gaussian高斯、Median中值;EdgeDetection为边缘检测型滤波器,包含了Laplacian拉普拉斯、Differentiation微分、Prewitt、Sobel、Roberts滤波器;Convolution为卷积型滤波器,包含HighlightDetails高亮细节、Custom自定义滤波器。
滤波器会有滤波器尺寸(FilterSize)、内核尺寸(KernelSize)、内核(Kernel,又可以叫掩模、算子、模板等)三个可能出现的参数,视各滤波器不同而不同。
如何设计内核这里就不详细介绍,如有兴趣,可参看一些图像处理原理类的书籍。
从图4-6中可以看到,当我们选择高亮细节滤波器、内核大小为7*7时,文字部分黑色与背景白色的对比度明显比周围没经过滤波的地方要强(为显示效果,已经将图像放大为原始图像,此图像为500万像素的AVTGuppyPro503B相机拍摄)。
这就是滤波的好处,可以将特征突现出来从而更容易的查找、测量、计算出特征。
在配置面板的底部有一个StepStatus指示灯,表示当前步骤用设置的参数来检查图像是否通过,此处的状态只能是PASS(通过)的,在后面一些测量函数中将会出现FAIL(失败)。
另外还有一个OK、一个Cancel按钮,OK为确定当前设置,Cancel为放弃当前设置。
步骤状态、OK、Cancel三个控件,在后面的函数讲解中,基本上都是会出现的,以后就不再叙述。
3. ThresholdImage:
Thresholdsanimage.
二值化图像(字面意思阈值图像),对图像进行二值化处理。
即图像中只有黑白两色,而不是灰度图或彩色图。
点击此函数进入二值化配置界面,如图4-7所示。
图4-7二值化配置
二值化配置只有一个主体选项卡,包含了StepName步骤名、LookFor寻找(目标类型)、Method方法、Histogram直方图、及LowerValue(Limit)阈值设定等部分。
其中寻找目标类型有白色目标、黑色目标、灰色目标可供选择;方法有手动阈值、自动阈值、局部阈值等;直方图用于显示图像各级灰度所占的比重;阈值设定LowerValue与LowerLimit、UpperLimit视方法不同而不同,有些方法需要设置阈值值,有些需要设置阈值界限。
图4-7只是针对灰度图产生的二值化配置界面,如果图片源为彩色图时,其配置界面如图4-8所示。
图4-8彩色图像二值化
彩色图像二值化中有一个颜色模式ColorMode、预览颜色PreviewColor、阈值设置。
颜色模式可选的有RGB、HSL、HSV、HSI。
根据选择颜色模式不同,下面可用于阈值设置的参数也不同。
如RGB时,是调整红R、绿G、蓝B三色的阈值,HIS是调整色调H、饱和度S、强度I等。
4. SegmentColorImage:
Segmentsacolorimageusingacolorclassifierandproducesagreyscaleimage.
分段彩色图像:
使用颜色分类器对一幅彩色图像进行分段,然后生成灰度图像
图4-9分段颜色主体选项卡
在main主体选项卡中,StepName步骤名、RegionofInterest(ROI)兴趣区域、RepositionRegionofInterest转换ROI、ReferenceCoordinateSystem参考坐标系都与前面讲的函数的主体选项卡一样,这里就不多介绍。
ColorClassifierFilePath颜色分类器文件路径,是需要选择一个颜色分类器文件。
可以使用这个框边上的文件夹选择按钮选择。
如果一开始没有选择颜色分类器文件时,则在下面有一个NewClassifierFile…按钮,点击此按钮则新建一个颜色分类器文件。
如果是选择已经有的颜色分类器文件,则此按钮提示信息为EditClassifierFile…。
即无文件时为新建,有文件时则为编辑。
图4-10分段颜色主体选项卡无颜色分类器文件
点击NewClassifierFile…按钮,然后进入颜色分类器界面,如图4-11所示:
图4-11颜色分类器训练界面
在这个界面中,大部分的工具按钮与VBAI的主界面类似。
先来看一下左下角的两个选项卡页面。
Options选项:
其中左边的ColorOptions颜色选项,下面有两个参数,一个为Sensitivity灵敏度,其中值有Low低、Medium中、High高,另一个参数为Useintensity使用强度,如果不使用强度,则仅使用色调、饱和度。
右边为EngineOptions引擎选项,有三个选项,Method方法:
NearestNeighbor最近邻,K-NearestNeighborK最近邻,MinimumMeanDistance最小均值距离;K,K最近邻的K值大小(具体算法请查看最神秘的相关书籍,其实我也搞不懂这些算法);Metric度量:
有Maximum极大值、Sum求和、Euclidean欧几里德三种方式。
默认会用Sum方式,大部分的分类器应用都使用此方法,极大值用在最灵敏的差异分类中。
而欧几里德则应用在较少的差异灵敏性中。
具体使用可参考NIVisionForLabVIEWHelp帮助文档。
其中有较详细的说明(英文)。
图12颜色分类器训练界面-ColorVector
ColorVector颜色向量:
其中有六个参数。
分为两排,上面一排为选择的类的参数:
SelectedClass:
Hue选择的类为色调(这里提示需要训练。
转到右上角的Classify选项卡,然后点击训练分类器可以训练,前提是先添加类AddClass,并且添加样品AddSample,如果已经训练,提显示选择的类的颜色);Saturation饱和度,这里是指选择的类的饱和度。
Intensity为选择的类的强度。
如果在Options中未勾选UseIntensity则此框为禁用。
下面一排的三个参数与上面的是一样的概念,只不过其指示的是ROI中的色调、饱和度、强度。
图4-13颜色分类器训练界面-AddSample添加样品
在添加样品选项卡中,上面有一提操作提示信息,可以按照上面的提示信息完成添加样品的动作。
首先需要打开图片。
如果是在颜色分类器函数前已经完成了采集图像(如从相机获取、从电脑中获取等),则点击颜色分类器及新分类器文件后,会将图像传递到界面中,因此可以省略此步。
当然也可以使用File文件中的OpenImage打开图片;
接下来在图片上使用ROI工具画一个ROI,这个ROI包含了你想要的颜色样品;
使用图像显示窗口下面的Options/ColorVector选项卡高速参数;
如果类别标签还没有创建,则点击AddClass添加类别按钮。
图4-13中我们已经设置了一个类别,我们再添加几个类别:
图4-14颜色分类器-AddClass添加类别
添加完需要的类别后,然后在类别表单中选择合适的类别。
如我们类别中的Blue、Green、Red三个类,我们ROI为红色,则选择Red类别。
然后点击AddSample添加样品,添加ROI中的颜色到选择的类别中。
图4-15颜色分类器-添加样品
点击完添加样品后,在Red所在的类别后面的#Samples样品数中可以发现其数由0变为1。
这时就已经完成了一个样品的添加。
也可以点击DeleteClass删除类别、RenameClass重命名类别。
图4-16颜色分类训练-Classify分类
当我们添加完样品后,在Classify分类选项卡中的Train中TrainClassifier按钮后面有一个黄色的感叹号,表示需要训练,我们点击此TrainClassifier按钮,完成训练。
图4-17完成训练
完成训练后,TrainClassifier训练分类器后面的黄色感叹号消失了,在Classify分类中出现了结果(ClassLabel:
Red;ClassificationScore:
1000分类分值,表明指定的类来表征输入样品比其它类到底有好多少;IdentificationScore:
1000认出分值,表明输入样品与指定类的相似度,仅当分类分值未达到指定的分数时才使用此值)以及最接近的样品图片。
图4-18颜色分类器-EditClassifier编辑分类器
在编辑分类器中,左上角会显示所有的ClassLabel类别标签。
如果有了解过OCR的话,在这里就比较容易了,这其中就相当于把很多种颜色归于一类,如深蓝、天蓝、海蓝等都归为Blue,而在字符识别中,我们可以把宋体的石、楷体的石、华文行楷的石都认为是石字。
或者是认为5号字体的石、3号字体的石、60点的石也都认为是石。
编辑分类器的左边则可以对分类器文件添加说明信息。
也可以使用Relabel对类别进行重命名,也可以使用Delete删除选中的类别样品。
下面的BrowsDisplay则可以显示所有的样品,也可以选择某个类别的所有样品。
设置完成后,保存颜色分类器文件,关闭颜色分类器训练界面,返回函数节点。
如图4-9所示的主体选项卡。
切换到Settings设置选项卡:
图4-19颜色分段-Settings设置
在设置中,我们可以根据ROISize兴趣区域的大小设置WidowsSize窗口大小的Width宽和Height高,可以设置StepSize步骤大小,也可以勾选RefineSegmentation细化分段,可以勾选AutoCalculateMaximumDistance自动计算最大距离,设置MinimumParticleArea(Pix^2)最小粒子面积(平方像素)、MaximumParticleArea(Pix^2)最大粒子面积、MinimumIdentificationScore最小认出分值;DisplayMode显示模式分为ShowSegmentedImage显示分段图像和OverlayClassesonImage在图像覆盖类别两种模式,第一种显示分段图像模式,使用第三个选项卡PixelMapping像素映射中的指定值进行替换。
第二个则表类别覆盖到图像上;ElapsedTime为消耗时间。
图4-20颜色分段-PixelMapping像素映射
像素映射可以将不同的颜色类别映射为指定的灰度值,如图中将Blue映射为85灰度,将Green映射为169灰度,将Red映射为254灰度。
图4-21颜色分段-Limits极限设置
极限选项卡中,PassInspectionif…通过检查如果…:
可以根据某个类别的百分比设置,也可以根据某个类别的面积设置,同时还可以根据未识别的类别百分比和面积设置。
SortResultsby(label/Area):
结果排序按照标签或面积;
SortOrderAscending/Descending:
排序方式升序或降序;
ColorSegmentationResults颜色分段结果:
显示了各类别所占百分比以及面积。
使用此函数可以检查视场中的颜色变化或者检查某种颜色有没有出现、出现的面积等。
5. CalibrateImage:
Calibratesanimagetoperformmeasurementsinrealworldunits.
标定图像:
标定图像以便使用实际单位测量。
这个函数以前面在采集图像中讲的标定类似,可参考采集图像中讲述的标定。
6. CreateRegionofInterest:
Createsaregionofinterestthatyoucanuseinsubsequentsteps.
创建目标区域:
创建一个能够用于随后步骤的目标区域。
很多时候,我们拍摄一幅图像,目标区域其实是很有限的一部分,而其它部分并不是我们需要的,甚至是干扰的,这时我们就可以利用此函数,将目标区域提取出来,然后再进行分析。
当然,有些人会问,前面那个过滤图像不是也有目标区域吗?
是的,过滤图像是有目标区域,其它很多函数也都有目标区域,但是我们并不希望每添加一个函数都要设置一次目标区域。
当然我们也可以调用前面可以设置ROI函数的ROI,但是为了统一,我们可以首先建立一个ROI。
点击函数,进入配置界面如图4-22所示。
图4-22创建ROI
主体中的内容,在前面都已经介绍过,分别是步骤名、参照坐标系、改变目标区域,这里就不多讲。
下面看Coordinates坐标选项卡。
如图4-23所示。
图4-23创建目标区域-坐标设置
ROIType:
目标区域类型。
可以选择Point点、Line线、Rectangle(Top/Left)矩形(左上/右下)、Rectangle(Center)矩形(中心)、Oval椭圆、RotatedRectangle旋转矩形、Annulus环形。
参数:
根据选择目标区域类型不同,可供设置的参数也不一样,可能出现的参数有Left左、Top上、Right右、Bottom下、Angle角度、CenterX/Y中心点(X、Y)等。
创建好ROI后,在后面的函数中就可以使用已经创建的ROI了,如图4-24所示
图4-24使用创建的ROI
图像增强部分基础讲述完毕
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NI Vision Builder AI入门教程 第四章 图像增强 AI 入门教程 第四 图像 增强