halcon创建画布,并在画布上绘制显示

Halcon的画布主要用于图像显示和处理。以下是一个简单的使用Halcon画布的例子:

1.创建一个窗口:

dev_open_window( Row, Column, Width, Height, Background : WindowHandle)

默认为:dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
**创建一个大小为512x512的背景色(默认为黑色'black')窗口,并将窗口句柄存储在变量WindowHandle 中。

halcon创建画布,并在画布上绘制显示_第1张图片

可以读取图像在上面窗口上:

read_image (Image, 'D:/APP/Imgs_project/dogdi.jpg')

halcon创建画布,并在画布上绘制显示_第2张图片

不读取图像直接在后面创建画布图像之后再绘制也行,这里只是起示范作用,此时窗口上显示的是示例图片。

2.创建一个画布(halcon里面没有这个算子),所以我们创建一个纯色图像,在图像上绘制。

gen_image_const( : Image : Type, Width, Height : )

*创建一个具有恒定灰度值的图像,Type有很多格式,可自行搜索文档查看。

默认为创建一个全黑的灰度图:gen_image_const(Imagenull, 'byte', Width, Height)

这里创建了这个全黑图像后,会更具代码顺序显示,所以这里全黑图像覆盖了前面的图像,窗口只能看到一张黑图。

全文最重要是这个算子了,可以根据个人需求调用这个函数,这里只是示例。

经常使用的情况就是先对图像做处理,获取所求特征,再创建这个画布图像,在上面显示有些特征和文字信息。

halcon创建画布,并在画布上绘制显示_第3张图片

3.在画布上绘制图形,可以在前面的图像做一些处理,把提取到的特征绘制到画布上,下面绘制一个只显示轮廓的矩形区域:

dev_set_color ('blue')
dev_set_draw ('margin')
gen_rectangle1 (Rectangle1, 440, 518, 670, 838)
area_center (Rectangle1, Area, Row, Column)
dev_set_color ('green')
disp_cross (WindowHandle, Row, Column, 20, 0)

*这里画十字叉用到了窗口句柄,刚好引用上文创建的窗口,虽然有时候用不到窗口句柄,

*但还是在图像处理前先创建个窗口比较好,看个人情况,不影响的话创建的话很快的

halcon创建画布,并在画布上绘制显示_第4张图片

5.关闭窗口:
dev_close_window( )
**关闭窗口并释放资源。

你可能感兴趣的:(Halcon,图像处理,计算机视觉)