halcon之Blob分析实战

Blob分析(Blob Analysis)

在计算机视觉中的Blob是指图像中的具有相似颜色、纹理等特征所组成的一块连通区域。Blob分析(Blob Analysis)是对图像中相同像素的连通域进行分析(该连通域称为Blob)。其过程其实就是将图像进行二值化,分割得到前景和背景,然后进行连通区域检测,从而得到Blob块的过程
举例来说,假如现在有一块刚生产出来的玻璃,表面非常光滑,平整。如果这块玻璃上面没有瑕疵,那么,我们是检测不到“灰度突变”的;相反,如果在玻璃生产线上,由于种种原因,造成了玻璃上面有一个凸起的小泡、有一块黑斑、有一点裂缝,那么,我们就能在这块玻璃上面检测到纹理,经二值化(Binary Thresholding)处理后的图像中色斑可认为是blob。而这些部分,就是生产过程中造成的瑕疵,这个过程,就是Blob分析。

适用范围

针对二维目标图像和高对比度图像,适用于有无检测和缺陷检测。常用于二维目标图像、高对比度图像、存在/缺席检测、数值范围和旋转不变性需求。

显然,纺织品的瑕疵检测,玻璃的瑕疵检测,机械零件表面缺陷检测,可乐瓶缺陷检测,药品胶囊缺陷检测等很多场合都会用到blob分析

另一方面,Blob分析并不适用于以下图像:

1.低对比度图像;

2.必要的图像特征不能用2个灰度级描述; ·

3.按照模版检测 (图形检测需求)

主要处理技术

Blob分析主要内容包括但不限于以下几点:

(1)图像分割:将图像中的目标和背景分离。

(2)去噪:消除或减弱噪声对目标的干扰。

(3)场景描述:对目标之间的拓扑关系进行描述。

(4)特征量计算:计算目标的2-D形状特征。


 

实例

该实例是打开相机,寻找一个圆形物体,并显示像素坐标

open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', '[0] yuv (640x480)', '[0] Lenovo EasyCamera', 0, -1, AcqHandle)
set_framegrabber_param (AcqHandle, 'brightness', 38)
set_framegrabber_param (AcqHandle, 'contrast', 45)
grab_image_start (AcqHandle, -1)
dev_close_window ()
dev_open_window (0, 0, 728, 512, 'black', WindowID)
while (true)
    grab_image_async (Image, AcqHandle, -1)
    * Image Acquisition 01: Do something
    rgb1_to_gray (Image, GrayImage)
  threshold (GrayImage, Regions, 87, 176)
* erosion_circle (Regions, RegionErosion, 0.5)
   opening_circle (Regions, RegionOpening, 20.5)
   fill_up (RegionOpening, RegionFillUp)
   connection (RegionFillUp, ConnectedRegions)  
   select_shape (ConnectedRegions, SelectedRegions, ['area','circularity'], 'and', [11637.2,0.65413], [13584.1,0.77655])
   area_center (SelectedRegions, Area, Row, Column)
   disp_message (WindowID, 'Area: ' + Area, 'window', Row, Column, 'yellow', 'false')
endwhile
close_framegrabber (AcqHandle)

 

参考:

https://blog.csdn.net/Gavinmiaoc/article/details/79407685

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值