Halcon|Blob分析的例子,抽取Blobs

看到群里有群友要求看个Blob分析的学习实例,正好这段时间开始Blob的测试,先发一个最基础的吧。
Extracted blobs with calculated center points (SG-i-P29)
Blob:Binary Large Object,大型二进制对象。

在计算机中,一个大型二进制对象通常是一个大型的文件,例如一个图片或声音文件。而这些文件不得不以一种特殊的方式存放在数据库中。按照Eric
Raymond的解释,大型二进制对象的意义在于,当文件的处理者(例如数据库管理工具)无法识别文件的格式以致无法处理该文件时,就把它作为大型二进制对象来处理。也有人说大型二进制对象实际上指代的是大型数据对象。一个需要处理大型二进制对象的应用程序是存储了大型多媒体对象(例如电影和电视节目)的数据存储器。

dev_close_window ()
dev_open_window (0, 0, 600, 600, 'black',
WindowHandle)
read_image(Image,'particle')

threshold(Image,BrightPixels,80,255)
* 从获取的图片中选取灰度值为80-255的区域,这个区域命名为BrightPixels;
* 阀值分割出来的区域“Region”是根据灰度值范围分割的,那么只要是阀值范围内的
* 区域都会被选取显示。

connection(BrightPixels,Particles)
* 阀值分割出来的Region,即这个例子中的BrightPixels,把边缘相连的区域,即图中的单个红色阈值区域,
* 连成一个区域,不相连的区域变成单独的区域,就相当于分成各个不同的区域块。

area_center(Particles, Area, Row, Column)
代码复制黏贴即可测试。
非常简单的一个初级实例,主要用到的是灰度值的取值范围。

    推荐阅读