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 : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)
create_aniso_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, Contrast, MinContrast : 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(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )
for LightDark
= 'not_equal' it is:
OrigImage小于ThresholdImage - Offset 和 大于ThresholdImage + Offset 这两个区间的像素点被选中为RegionDynThresh
offset越大,提取到的区域越细,范围越小(小于更小的,大于更大的,并集更小)