1-第一个halcon程序

1-第一个halcon程序

通过相机采集照片,通过灰度变换、二值化和图像选择等函数选择目标图像,最后获取目标图像的面积和像素坐标。



open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] FHD Camera', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)

dev_close_window()
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
while (true)
    grab_image_async (Image, AcqHandle, -1)
 *        转为灰度图像
    rgb1_to_gray(Image,GrayImage)
    *二值化
    threshold (GrayImage, Regions, 161, 255)
    
    connection(Regions, ConnectedRegions)
    
    *选择图形
   * select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 3611.11, 5462.96)
    
    select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 3611.11, 7500)
    area_center (SelectedRegions, Area, Row, Column)
    for Index := 0 to |Area|-1 by 1
        
        zqb := Index * 20
        disp_message (WindowHandle, '面积:' + Area[Index] + '行'+Row[Index]+'列'+Column[Index], 'window',zqb, 0, ['black','blue'], 'true')
    endfor
    
   
endwhile
close_framegrabber (AcqHandle)

2-结果

原始图像
1-第一个halcon程序_第1张图片
检测结果
1-第一个halcon程序_第2张图片

3-总结

与opencv相比,halcon软件的封装性更强,大部分能够通过鼠标或调用封装函数的方式实现。即使用现有的方法解决问题,一般不能使用定义的方法实现。
学习算法选择opencv等,解决工程问题使用halcon。

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