Halcon 是一个强大的图像处理和机器视觉库,提供了大量的算子(运算符)用于各种图像处理任务。以下是一些常用的基础算子,它们涵盖了图像读取、显示、几何变换、特征提取和区域处理等方面。
基础图像处理算子
图像读取和显示
read_image
:读取图像文件。write_image
:将图像保存到文件。disp_image
:在窗口中显示图像。
* 读取和显示图像
read_image(Image, 'example_image.png')
disp_image(Image, WindowHandle)
图像变换
rotate_image
:旋转图像。zoom_image
:缩放图像。crop_part
:裁剪图像的一部分。
* 旋转图像
rotate_image(Image, RotatedImage, 45, 'constant')
disp_image(RotatedImage, WindowHandle)
图像滤波
gauss_filter
:高斯滤波器。median_image
:中值滤波器。mean_image
:均值滤波器。
* 高斯滤波
gauss_filter(Image, SmoothedImage, 7)
disp_image(SmoothedImage, WindowHandle)
边缘检测
edges_sub_pix
:亚像素边缘检测。sobel_amp
:Sobel 边缘检测。canny_edges
:Canny 边缘检测。
* Sobel 边缘检测
sobel_amp(Image, EdgeAmplitude, 'sum_abs', 3)
disp_image(EdgeAmplitude, WindowHandle)
几何和区域处理算子
创建和操作区域
gen_rectangle1
:生成矩形区域。gen_circle
:生成圆形区域。gen_polygon
:生成多边形区域。reduce_domain
:裁剪图像到指定区域。
* 创建和显示矩形区域
gen_rectangle1(Rectangle, 100, 100, 200, 200)
reduce_domain(Image, Rectangle, ImageReduced)
disp_image(ImageReduced, WindowHandle)
形态学操作
dilation_circle
:圆形膨胀。erosion_circle
:圆形腐蚀。closing_circle
:圆形闭合。opening_circle
:圆形开操作。
* 圆形膨胀
dilation_circle(Rectangle, DilatedRectangle, 10)
disp_image(DilatedRectangle, WindowHandle)
特征提取
area_center
:计算区域的面积和中心。orientation_region
:计算区域的方向。length_width
:计算区域的长度和宽度。
* 计算区域的面积和中心
area_center(Rectangle, Area, Row, Column)
disp_message(WindowHandle, 'Area: ' + Area, 'window', 12, 12, 'black', 'true')
其他基础算子
阈值分割
threshold
:全局阈值分割。dyn_threshold
:动态阈值分割。binary_threshold
:二值化图像。
* 全局阈值分割
threshold(Image, Region, 128, 255)
disp_image(Region, WindowHandle)
形态学变换
skeleton
:提取区域骨架。connection
:连接组件分析。fill_up
:填充区域。
* 提取区域骨架
skeleton(Region, SkeletonRegion)
disp_image(SkeletonRegion, WindowHandle)
计数和选择
count_obj
:计数区域对象的数量。select_obj
:选择指定的区域对象。
* 计数和选择区域对象
count_obj(ConnectedRegions, NumRegions)
select_obj(ConnectedRegions, SelectedRegion, 1)
disp_image(SelectedRegion, WindowHandle)