码迷,mamicode.com
首页 > 其他好文 > 详细

Halcon算子

时间:2018-02-09 20:38:34      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:gray   tool   false   center   读取   rgb   connected   cte   nop   

Halcon部分算子功能:

*读取一张图像
read_image(Image,'C:/Users/Desktop/无标题.png')
*画一个矩形生成区域
draw_rectangle1(3600, Row1, Column1, Row2, Column2)
*获得矩形区域
gen_rectangle1(Rectangle, Row1, Column1, Row2, Column2)
*区域内最大、最小、最大-最小灰度值
min_max_gray(Rectangle, Image, 0, Min, Max, Range)
*获得特定区域位置的图像,但不改变原图像的大小
reduce_domain(Image, Rectangle, ImageReduced)
get_image_size(ImageReduced, Width, Height)
get_image_size(Image,Width1, Height1)
*对区域进行剪裁,将有值的区域以最小外界正矩形的方式返回,而剪掉那些没有值的区域。
crop_domain(ImageReduced, ImagePart)
*消除噪声,均值平滑
mean_image(ImageReduced, ImageMean, 9, 9)
*动态阈值分割
*原图、参考图、输出、邻域比较的区间范围、light提取相对参考图更亮的区域|dark|equal选取和参考图差不多的区域
dyn_threshold(ImageReduced, ImageMean, RegionDynThresh, 5, 'light')
*区域连通,可将阈值分割的不相连的区域分割成单个区域
connection(RegionDynThresh, ConnectedRegions)
*区域筛选,根据特征进行,最常用的是根据面积筛选
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 2500, 99999)
*区域联合,将几个区域合并为一个区域
union1(SelectedRegions, RegionUnion)
*将一张图像上的一个区域内的像素改为指定的灰度
*ps:如果报错,可检查输入图像是否带有其他格式,可使用rgb1_to_gray (Image, Image)算子
paint_region(Rectangle, Image, ImageResult, 255.0, 'fill')
*填充区域
fill_up_shape(RegionDynThresh, RegionFillUp, 'area', 1, 1000000)
*区域面积和中心,区域中心的行列坐标为区域内所有点横纵坐标的平均值
*ps:与采用区域最小外接矩形得出的中心点坐标有差异
area_center(RegionFillUp, Area, Row, Column)
*腐蚀,使用圆形结构腐蚀
erosion_circle(RegionFillUp,RegionErosion, 19.5)
*腐蚀,使用矩形结构腐蚀
erosion_rectangle1(RegionFillUp,RegionErosion1, 21, 21)
*膨胀,使用圆形结构膨胀
*ps:不是说将一个区域先腐蚀再膨胀,就能恢复到原始图像的
opening_circle(RegionFillUp,RegionOpening,19.5)
*膨胀,使用矩形结构膨胀
opening_rectangle1(RegionFillUp,RegionOpening1, 25, 25)
*计算两个区域的差异,本算子实现是区域1-区域2,如果区域1<区域2,则结果为空
difference(RegionOpening,RegionErosion,RegionDifference)


Halcon算子

标签:gray   tool   false   center   读取   rgb   connected   cte   nop   

原文地址:http://blog.51cto.com/green906/2070727

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!