Halcon 笔记2 Blob分析

1. 数组操作

2. 可视化-更新窗口

(1)单步模式-总是:则可以自动显示图像;

(2)单步模式-从不:需要调用显示函数才能显示图像。

(3)单步模式-清空显示:将原图清除,再显示新图

3. 图像处理基本操作

(1)读取图像

  a. Ctrl+R

  b. 直接调用read_image

    *读取两幅图
    read_image(Images,['D://0.jpg','D://1.BMP']) 

  c. 助手-打开新的Image acquisition

    

    选择文件:打开单个图像

    选择路径:可以将路径中所有图像全都打开

    选择好之后,生成代码。

   (2)图像写

4. Blob分析

在图像中找到感兴趣区域

套路: 二值化 形态学 特征选择

 

5.  多个形状的选择:

6. 画轮廓

可视化-画-margin

或者使用

7. 实例 HDevelop

* Image Acquisition 03: Code generated by Image Acquisition 03
open_framegrabber ('GigEVision', 0, 0, 0, 0, 0, 0, 'default', 8, 'gray', -1, 'false', 'default', 'Cam1', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)

dev_set_draw('margin')

while (true)
    grab_image_async (Image, AcqHandle, -1)
    
    *二值化,来进行初始分割
    threshold (Image, Regions, 4, 31) 
    *Halcon将二值化后的两个部分认为是两个区域,需要条用Connnection来打散,从而将不同
    *部分视为一个区域
    connection (Regions, ConnectedRegions)
    
    *填充区域
    fill_up (ConnectedRegions, RegionFillUp)
    
    *多特征选择区域
    select_shape (ConnectedRegions, SelectedRegions1, ['column2','area','row2'], 'and', [352.06,0,392.65], [1795.87,658501,1568.28])

    dev_display(Image) //显示图像
    dev_display(SelectedRegions1) //显示区域
    * Image Acquisition 03: Do something
endwhile
close_framegrabber (AcqHandle)

 

查看某一点像素值:在窗口上,按下contrl键,并将鼠标放在上面即可。

posted @ 2017-12-29 15:48  mCat  Views(825)  Comments(0Edit  收藏  举报