halcon里的常用算子和相关概念

dilation  膨胀算子   对区域进行膨胀  不更改图片的信息
fill up 填充算子
开运算=腐蚀+膨胀;(断开细小的地方,所以叫开) 
闭运算=膨胀+腐蚀。(连接细小的地方,所以叫闭) 

交集操作
intersection(Region, Region, RegionIntersection)

*连通域操作
​​​​​​​connection (Region, ConnectedRegions)

tuple_regexp_select( : : Data, Expression : Selection)
**按照文件格式筛选文件
eg:
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)

 **读取文件
 read_image (Image, ImageFiles[IndexInference])

*获取图片文件大小
get_image_size (Image, Width1, Height1)


 **文件名拆分
parse_filename(ImageFiles[IndexInference], BaseName, Extension, Directory)

tuple_substr(BaseName, 0, 11, NamePart)

按照下划线把basename拆分开  
tuple_split (BaseName, '_', Substrings)

list_files( : : Directory, Options : Files)
list_files (目录(文件夹路径),操作选项, 文件)

Options文件夹路径:选项如下:
‘files’ 指定搜索的格式为文件
‘directories’ 指定搜索的格式为文件夹
‘recursive’ 指定可以遍历子文件夹下的文件
‘max_depth 5’ 指定遍历的深度
‘max_files 1000’ 指定遍历的最大文件数目
‘follow_links’    可用于指定文件或目录的符号链接应被跟随

跟随=取消引用=访问内容
跟随就是如果符号链接指向一个目录,搜索将会递归地进入该目录,就像它是实际存在于文件系统中的目录一样。

在编程和系统设计中,“引用”通常意味着指向或关联到一个对象,而不直接访问它的内容。“取消引用”则是相反的过程,它意味着通过引用来访问或操作实际的对象。

在默认情况下,大多数文件搜索操作不会跟随符号链接,

不跟随符号链接通常是出于安全考虑,因为跟随链接可能会进入未预期的文件系统部分,可能包含循环链接,这可能导致程序陷入无限循环。

不跟随符号链接可以避免不必要的文件系统访问,从而提高性能。

在某些情况下,你可能确实需要访问符号链接指向的实际内容,这时候就需要设置跟随符号链接的选项。

模板提取和匹配

find_shape_model指的是行列方向均无缩放的模板匹配

find_scaled_shape_model指的是行列等比例缩放的模板匹配

find_aniso_shape_model指的是行列不等比例缩放各向异性缩放)的模板匹配

find_aniso_shape_model算子中模型ModelID(参数)必须先通过调用create_aniso_shape_model或read_shape_model创建

create_shape_model
eg:
create_shape_model (model_Image_seg, 'auto', -0.1, 0.1, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID1)        
create_shape_model(Template : : NumLevelsAngleStartAngleExtentAngleStepOptimizationMetricContrastMinContrast : ModelID)                         
create_aniso_shape_model(Template : : NumLevelsAngleStartAngleExtentAngleStepScaleRMinScaleRMaxScaleRStepScaleCMinScaleCMaxScaleCStepOptimizationMetricContrastMinContrast : ModelID)
为匹配准备一个各向异性缩放的形状模型


    **遍历模板图文件夹
    list_files(ImageStandardDir, 'files', ImageStandardFiles)
    **筛选文件
    tuple_regexp_select(ImageStandardFiles, Base, ImageStandardTuple)

   

tuple_concat()
concat:= [T1,T2]
 **整合两个数组[T1,T2格式]  concat里T1在前,T2在后
Rows := [Rows, RowSequence]
Cols := [Cols, ColSequence]                       
Rows在前,RowSequence在后

switch循环
一般在for循环内
eg:
switch(index) 
case index: 
break 
end switch
这两个index数相等则运行case内的数  如果没有相等的就运行default里的数

gen_rectangle1( : Rectangle : Row1, Column1, Row2, Column2 : )
生成平行于坐标轴的矩形 左上角坐标 (x,y) →(col1,row1)   和右下角坐标 (x,y) →(col2,row2)

gen_rectangle2( : Rectangle : Row, Column, Phi, Length1, Length2 : )
​ROI:输出的矩形区域;
​Row,​Column:矩形中心坐标点;(col,row)
Phi:与水平面的夹角;
Length1 矩形区域宽的一半   Length2矩形区域长的一半

dyn_threshold(OrigImageThresholdImage : RegionDynThresh : OffsetLightDark : )

 for LightDark = 'not_equal' it is: 
OrigImage小于ThresholdImage - Offset 和 大于ThresholdImage + Offset 这两个区间的像素点被选中为RegionDynThresh
offset越大,提取到的区域越细,范围越小(小于更小的,大于更大的,并集更小)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值