Halcon的画布主要用于图像显示和处理。以下是一个简单的使用Halcon画布的例子:
1.创建一个窗口:
dev_open_window( Row, Column, Width, Height, Background : WindowHandle)
默认为:dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
**创建一个大小为512x512的背景色(默认为黑色'black')窗口,并将窗口句柄存储在变量WindowHandle 中。
可以读取图像在上面窗口上:
read_image (Image, 'D:/APP/Imgs_project/dogdi.jpg')
不读取图像直接在后面创建画布图像之后再绘制也行,这里只是起示范作用,此时窗口上显示的是示例图片。
2.创建一个画布(halcon里面没有这个算子),所以我们创建一个纯色图像,在图像上绘制。
gen_image_const( : Image : Type, Width, Height : )
*创建一个具有恒定灰度值的图像,Type有很多格式,可自行搜索文档查看。
默认为创建一个全黑的灰度图:gen_image_const(Imagenull, 'byte', Width, Height)
这里创建了这个全黑图像后,会更具代码顺序显示,所以这里全黑图像覆盖了前面的图像,窗口只能看到一张黑图。
全文最重要是这个算子了,可以根据个人需求调用这个函数,这里只是示例。
经常使用的情况就是先对图像做处理,获取所求特征,再创建这个画布图像,在上面显示有些特征和文字信息。
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)
*这里画十字叉用到了窗口句柄,刚好引用上文创建的窗口,虽然有时候用不到窗口句柄,
*但还是在图像处理前先创建个窗口比较好,看个人情况,不影响的话创建影响很快的
5.关闭窗口:
dev_close_window( )
**关闭窗口并释放资源。