【HALCON】学习笔记

HALCON课程的笔记,同步课程学习进度进行更新,主要记录学习的算子


HALCON算子基本结构

算子(图像输入:图像输出:控制输入:控制输出)


HALCON常用算子

read_image(:Image:FileName)

作用:读取图片
Image:为读取的图片的变量名称
FileName:为图像文件所在的路径

add_image(Image1, Image2 : ImageResult : Mult, Add : )

作用:两张图片相加
Image1, Image2:相加的两张图片
ImageResult:相加结果

zoom_image_size(Image : ImageZoom : Width, Height, Interpolation : )

作用:调整图片的大小
Image:待调整的图片
ImageZoom:调整后的图片
Width, Height:调整后的宽和高(像素数量)
Interpolation:插值

convert_image_type(Image : ImageConverted : NewType : )

作用:转换图片类型
Image:待转换的图片
ImageConverted:转换后的图片
NewType:转换后的类型(‘byte’, ‘complex’, ‘cyclic’, ‘direction’, ‘int1’, ‘int2’, ‘int4’, ‘int8’, ‘real’, ‘uint2’)

scale_image(Image : ImageScaled : Mult, Add : )

作用:更改图片的灰度值(对灰度值进行线性变换)
Image:待更改图片
ImageScaled:更改后图片
Mult: M u l t = 255 G M a x − G M i n Mult = \frac{255}{GMax - GMin} Mult=GMaxGMin255
变换公式: g ′ = g ∗ M u l t + A d d g' = g*Mult +Add g=gMult+Add

threshold(Image : Region : MinGray, MaxGray : )

作用:阈值分割图像获得区域
Image:要进行阈值分割的图片
Region:经过阈值分割后得到的区域
MinGray, MaxGray:阈值分割的最小灰度值/阈值分割的最大灰度值

write_image(Image : : Format, FillColor, FileName : )

作用:保存图片
Image:要保存的图片
Format:保存的图片类型( ‘tiff’, ‘tiff mask’, ‘tiff alpha’, ‘tiff deflate 9’, ‘tiff deflate 9 alpha’, ‘tiff jpeg 90’, ‘tiff lzw’, 'tiff lzw alpha ', ‘tiff packbits’, ‘bigtiff’, ‘bigtiff mask’, ‘bigtiff alpha’, ‘bigtiff deflate 9’, ‘bigtiff deflate 9 alpha’, ‘bigtiff jpeg 90’, ‘bigtiff lzw’, 'bigtiff lzw alpha ', ‘bigtiff packbits’, ‘bmp’, ‘jpeg’, ‘jpeg 100’, ‘jpeg 80’, ‘jpeg 60’, ‘jpeg 40’, ‘jpeg 20’, ‘jp2’, ‘jp2 50’, ‘jp2 40’, ‘jp2 30’, ‘jp2 20’, ‘jpegxr’, ‘jpegxr 50’, ‘jpegxr 40’, ‘jpegxr 30’, ‘jpegxr 20’, ‘png’, ‘png best’, ‘png fastest’, ‘png none’, ‘ima’, ‘hobj’)
FillColor:对空像素进行灰度值填充
FileName:保存的图片文件名

list_files( : : Directory, Options : Files)

Directory:文件夹
Options:搜索选项( ‘files’, ‘directories’, ‘recursive’, ‘follow_links’, ‘max_depth 5’, ‘max_files 1000’)
Files:文件名数组

tuple_regexp_select( : : Data, Expression : Selection)

作用:筛选指定格式的图像
Data:输入的文件名数组
Expression:文件筛选规则表达式
Selection:筛选出的文件名数组

open_framegrabber( : : Name, HorizontalResolution, VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn, Field, BitsPerChannel, ColorSpace, Generic, ExternalTrigger, CameraType, Device, Port, LineIn : AcqHandle)

作用:连接相机并设置相关参数(课通过采集助手进行代码自动生成插入)
Name:图像采集设备的名称
HorizontalResolution:图像采集接口的水平分辨率
VerticalResolution:图像采集接口的垂直分辨率
ImageWidth和ImageHeight:图像的宽度和高度
StartRow和StartColumn:像是图像的起始坐标
Field:图像时一般还是完整的图像
BitsPerChannel:每像素比特数和图像通道
ColorSpace:图像通道模式
Generic:通用参数与设备细节部分的具体意义
ExternalTrigger:是否有外部触发
CameraType:使用相机的类型
Device:图像获取识别连接到的设备
Port:图像获取识别连接到的端口
LineIn:相机输入的多路转接器
AcqHandle:图像获取设备的句柄

grab_image_async( : Image : AcqHandle, MaxDelay : )

作用:进行图像异步采集,一幅图像采集完成后相机马上采集下一幅图像
AcqHandle:图像获取设备的句柄
MaxDelay:表示异步采集时可以允许的最大延时

grab_image_start( : : AcqHandle, MaxDelay : )

作用:开始命令相机进行异步采集,需要与grab_image_async异步采集算子一起使用
AcqHandle:图像获取设备的句柄
MaxDelay:表示异步采集时可以允许的最大延时

close_framegrabber( : : AcqHandle : )

作用:关闭图像采集设备

grab_image( : Image : AcqHandle : )

作用:进行图像同步采集,采集完成后处理图像。图像处理结束后再次采集图像,采集图像的速率受处理速度影响

disp_arrow( : : WindowHandle, Row1, Column1, Row2, Column2, Size : )

作用:绘制箭头
WindowHandle:窗口句柄
Row1, Column1:箭头起点坐标
Row2, Column2:箭头终点坐标
Size:箭头大小

set_tposition( : : WindowHandle, Row, Column : )

作用:设置光标位置
WindowHandle:窗口句柄
Row:行坐标
Column:列坐标

write_string( : : WindowHandle, String : )

作用:在窗口已设定的光标位置显示字符串
WindowHandle:窗口句柄
String:字符串

rgb1_to_gray(RGBImage : GrayImage : : )

作用:RGB图像转换成灰度图像
RGBImage:输入的RGB图像
GrayImage:输出的单通道灰度图像

regiongrowing(Image : Regions : RasterHeight, RasterWidth, Tolerance, MinSize : )

作用:区域生长,在图像上选取“种子”像素或者区域,以其为生长点,从领域像素开始搜寻,比较种子区域像素与领域像素的相似性,将相同或者相似性质的像素合并到种子像素所在区域内,持续以上操作,直到没有满足条件的像素为止
Image:输入的图像
Regions:输出的区域
RasterHeight, RasterWidth:矩形区域的宽和高(测试像素之间的垂直距离和水平距离),一般使用奇数
Tolerance:灰度差值的分割标准,指当像素点的灰度与种子区域的灰度值在该范围内时,则将它们合并为同一区域
MinSize:区域输出的最小像素

region_to_mean(Regions, Image : ImageMean : : )

作用:求区域与图像的平均灰度值,通过词沚绘制ImageMean图像,将其灰度值设置为Regions和Image的平均灰度值
Regions, Image:输入的区域及图像
ImageMean:输出的结果

copy_image(Image : DupImage : : )

作用:复制图像
Image:待复制输入图像
DupImage:复制后输出图像

region_to_bin(Region : BinImage : ForegroundGray, BackgroundGray, Width, Height : )

作用:将区域转换为二进制图像,将Region中给定的输入区域转换为“字节”图像,并将ForegroundGray的灰度值分配给该区域的像素,若输入区域大于生成的图像,则会在图像边框处裁剪,灰度北京设置为BackgroundGray
Region:输入的区域,即要转换的图像
BinImage:输出的图像
ForegroundGray:区域内的灰度值
BackgroundGray:背景灰度值
Width, Height:要生成图像的宽度和高度

region_to_label(Region : ImageLabel : Type, Width, Height : )

作用:将图像转换为label图像
Region:输入的待转换区域
ImageLabel:输出的结果图像
Type:图像的像素类型(‘byte’, ‘int2’, ‘int4’, ‘int8’)
Width, Height:生成的图像的宽度和高度

count_channels(MultiChannelImage : : : Channels)

作用:计算图像的通道数
MultiChannelImage:输入的图像,即待计算通道的图像
Channels:计算得到的图像通道数

access_channel(MultiChannelImage : Image : Channel : )

作用:获取多通道图像中指定通道的图像
MultiChannelImage:输入的多通道图像
Image:输出的某通道图像
Channel:指定的通道

decompose3(MultiChannelImage : Image1, Image2, Image3 : : )

作用:转换三通道彩色图像为三个单通道灰度图像
MultiChannelImage:要进行转换的三通道彩色图像
Image1:转换得到第一个通道的灰度图像,对应Red通道
Image2:转换得到第一个通道的灰度图像,对应Green通道
Image3:转换得到第一个通道的灰度图像,对应Blue通道

compose3(Image1, Image2, Image3 : MultiChannelImage : : )

作用:将三个单通道灰度图像合并成一个三通道彩色图像
Image1, Image2, Image3:对应三个单通道灰度图像
MultiChannelImage:转换后输出的三通道彩色图像

trans_from_rgb(ImageRed, ImageGreen, ImageBlue : ImageResult1, ImageResult2, ImageResult3 : ColorSpace : )

作用:将彩色图像从RGB空间转换到其他色彩空间
ImageRed, ImageGreen, ImageBlue:分别对应彩色图像的R通道、G通道、B通道的灰度图像
ImageResult1, ImageResult2, ImageResult3:分别对应转换后得到的三个单通道灰度图像
ColorSpace:输出的色彩空间( ‘argyb’, ‘cielab’, ‘cielchab’, ‘cielchuv’, ‘cieluv’, ‘ciexyz’, ‘ciexyz2’, ‘ciexyz3’, ‘ciexyz4’, ‘hls’, ‘hsi’, ‘hsv’, ‘i1i2i3’, ‘ihs’, ‘lms’, ‘yiq’, ‘yuv’)对应的计算关系可以在Halcon的帮助菜单中查看

compose2(Image1, Image2 : MultiChannelImage : : )

作用:合并通道
Image1, Image2:输入的两个待合并图像
MultiChannelImage:合并后的输出图像

append_channel(MultiChannelImage, Image : ImageExtended : : )

作用:将Image图像的通道与MultiChannelImage图像的通道叠加得到新图像
MultiChannelImage:多通道图像
Image:要叠加的图像
ImageExtended:叠加后得到的图像

gen_image_const( : Image : Type, Width, Height : )

作用:创建灰度值为零的图像
Image:创建得到的图像
Type:像素类型( ‘byte’, ‘complex’, ‘cyclic’, ‘direction’, ‘int1’, ‘int2’, ‘int4’, ‘int8’, ‘real’, ‘uint2’, ‘vector_field_absolute’, ‘vector_field_relative’)
Width,Height:图像的宽度和高度

get_image_size(Image : : : Width, Height)

作用:计算图像的尺寸
Image:输入的图像
Width,Height:计算得到的图像的宽度和高度

gen_image_proto(Image : ImageCleared : Grayval : )

作用:指定图像像素为同一灰度值
Image:输入图像
ImageCleared:具有恒定灰度值的图像
Grayval:指定的灰度值

get_domain(Image : Domain : : )

作用:得到图像的定义域
Image:输入图像
Domain:得到图像的定义域

crop_domain(Image : ImagePart : : )

作用:裁剪图像得到新图像
Image:输入的图像
ImagePart:裁剪后得到的新图像

get_grayval(Image : : Row, Column : Grayval)

作用:获取图像像素点的灰度值
Image:输入的图像
Row,Column:像素点的行、列坐标
Grayval:像素点的灰度值

set_grayval(Image : : Row, Column, Grayval : )

作用:设置图像像素点的灰度值
Row,Column:像素点的行、列坐标
Grayval:像素点的灰度值

gen_rectangle1( : Rectangle : Row1, Column1, Row2, Column2 : )

作用:创建一个平行于坐标轴的矩形
Rectangle:新创建的矩形
Row1:左上角的行索引
Column1:左上角的列索引
Row2:右下角的行索引
Column2:右下角的列索引

gray_histo(Regions, Image : : : AbsoluteHisto, RelativeHisto)

作用:获得图像指定区域的灰度直方图
Regions:计算灰度直方图的区域
Image:计算灰度直方图区域所在的图像
AbsoluteHisto:各灰度值出现的次数
RelativeHisto:各灰度值出现的频率

gen_region_histo( : Region : Histogram, Row, Column, Scale : )

作用:将获得的灰度直方图转换为区域
Region:包含灰度直方图的区域
Histogram:输入的灰度直方图
Row,Column:灰度直方图的中心坐标
Scale:灰度直方图的比例因子

connection(Region : ConnectedRegions : : )

作用:计算一个区域中连通的部分
Region:输入的区域
ConnectedRegions:得到的连通区域

select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )

作用:选取指定形状特征的区域
Region:输入的区域
SelectedRegions:满足条件的区域
Features:选择的形状特征
Operation:单个特征的逻辑类型(and、or)
Min、Max:形状特征的取值范围

union1(Region : RegionUnion : : )

作用:返回所有输入区域的并集
Region:想要进行合并的区域
RegionUnion:得到区域的并集

union2(Region1, Region2 : RegionUnion : : )

作用:把两个区域合并成一个区域
Region1:要合并的第一个区域
Region2:要合并的第二个区域
RegionUnion:合并两区域后得到的区域

difference(Region, Sub : RegionDifference : : )

作用:计算两个区域的差集
Region:输入的区域
Sub:要从输入的区域中减去的区域
RegionDifference:得到区域的差集,RegionDifference=Region-Sub

complement(Region : RegionComplement : : )

作用:计算区域的补集
Region:输入的区域
RegionComplement:得到区域的补集

area_center(Regions : : : Area, Row, Column)

作用:计算区域的面积和中心点坐标
Regions:待测的区域
Area:代测区域的面积
Row,Column:被测区域中心的行、列坐标

tuple_max( : : Tuple : Max)

作用:返回元组中的最大值
Tuple:输入的元组
Max:元组中的最大值

count_obj(Objects : : : Number)

作用:计算元组Objects中的个数
Objects:输入的元组
Number:返回元组中的数量

gen_region_line( : RegionLines : BeginRow, BeginCol, EndRow, EndCol : )

作用:根据两个像素坐标生成线
RegionLines:生成的线区域
BeginRow,BeginCol:线开始的点坐标
EndRow,EndCol:线结束的点坐标

intersection(Region1, Region2 : RegionIntersection : : )

作用:获得两区域的交集
Region1,Region2:参与交集运算的两区域
RegionIntersection:得到两区域的交集

get_region_points(Region : : : Rows, Columns)

作用:获得区域的像素点坐标
Region:要获得坐标的区域
Rows,Columns:获得区域的像素点坐标

disp_line( : : WindowHandle, Row1, Column1, Row2, Column2 : )

作用:在窗口中画线
WindowHandle:要显示的窗口句柄
Row1, Column1, Row2, Column2:线的开始点、结束点坐标

orientation_region(Regions : : : Phi)

作用:计算区域的方向
Regions:要计算方向的区域
Phi:计算得到区域的方向

line_orientation( : : RowBegin, ColBegin, RowEnd, ColEnd : Phi)

作用:计算直线的方向
RowBegin, ColBegin, RowEnd, ColEnd:线的开始点、结束点坐标
Phi:计算得到的角度,角度范围为 − π 2 ≤ P h i ≤ π 2 -\frac{\pi}{2}\leq Phi \leq \frac{\pi}{2} 2πPhi2π

line_position( : : RowBegin, ColBegin, RowEnd, ColEnd : RowCenter, ColCenter, Length, Phi)

作用:计算线段的中心、长度、方向
RowBegin, ColBegin, RowEnd, ColEnd:线段的开始点、结束点坐标
RowCenter, ColCenter:计算得到线段的中心
Length, Phi:计算得到线段的长度与角度

angle_ll( : : RowA1, ColumnA1, RowA2, ColumnA2, RowB1, ColumnB1, RowB2, ColumnB2 : Angle)

作用:计算两直线的夹角
RowA1, ColumnA1, RowA2, ColumnA2:输入线段A的开始点与结束点
RowB1, ColumnB1, RowB2, ColumnB2:输入线段B的开始点与结束点
Angle:计算得到两直线的夹角,弧度范围为 − π ≤ A n g l e ≤ π -\pi\leq Angle \leq \pi πAngleπ

distance_pp( : : Row1, Column1, Row2, Column2 : Distance)

作用:计算点到点的距离
Row1, Column1, Row2, Column2:参与计算的两个点的坐标
Distance:两点之间的距离

distance_pl( : : Row, Column, Row1, Column1, Row2, Column2 : Distance)

作用:计算点到线的距离
Row, Column:参与计算的点的坐标
Row1, Column1, Row2, Column2:输入线的开始点、结束点坐标
Distance:点到线的距离

distance_ps( : : Row, Column, Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax)

作用:计算点到线段的距离
Row, Column:参与计算的点的坐标
Row1, Column1, Row2, Column2:输入线段的开始点、结束点坐标
DistanceMin, DistanceMax:得到点到线段的最近距离与最远距离

distance_rr_min(Regions1, Regions2 : : : MinDistance, Row1, Column1, Row2, Column2)

作用:计算区域到区域的最近距离和对应的最近点
Regions1, Regions2:参与计算的两个区域
MinDistance:得到区域到区域的最近距离
Row1, Column1:两区域最近距离的线段与Regions1区域的交点坐标
Row2, Column2:两区域最近距离的线段与Regions2区域的交点坐标

distance_lr(Region : : Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax)

作用:计算线到区域的最近距离和最远距离
Region:参与计算的区域
Row1, Column1, Row2, Column2:输入线的开始点、结束点坐标
DistanceMin, DistanceMax:线到区域的最近和最远距离

distance_sr(Region : : Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax)

作用:计算线段到区域的最近距离及最远距离
Region:参与计算的区域
Row1, Column1, Row2, Column2:输入线段的开始点、结束点坐标
DistanceMin, DistanceMax:线段到区域的最近及最远距离

gen_circle( : Circle : Row, Column, Radius : )

作用:生成圆形区域
Circle:生成的圆形区域
Row, Column:圆的中心行、列坐标
Radius:圆的半径值

gen_ellipse( : Ellipse : Row, Column, Phi, Radius1, Radius2 : )

作用:生成椭圆区域
Ellipse:生成的椭圆区域
Row, Column:椭圆的中心行、列坐标
Phi:椭圆相对于x轴正方向的夹角
Radius1, Radius2:椭圆的长半轴长度、短半轴长度

gen_rectangle2( : Rectangle : Row, Column, Phi, Length1, Length2 : )

作用:生成任意方向的矩形区域
Rectangle:生成的矩形区域
Row, Column:矩形区域中心行、列坐标
Phi:矩形区域相对于x轴正方向的夹角
Length1, Length2:矩形半长与半宽的数值

disp_circle( : : WindowHandle, Row, Column, Radius : )

作用:在指定窗口中画圆
WindowHandle:窗口句柄
Row, Column:圆心的中心行、列坐标
Radius:圆的半径

gen_region_polygon( : Region : Rows, Columns : )

作用:将一系列行和列坐标描述的多边形转换为区域
Rows, Columns:区域轮廓基点的行列坐标

gen_region_runs( : Region : Row, ColumnBegin, ColumnEnd : )

作用:根据同行坐标值生成同行行程
Region:生成的同行行程区域
Row:生成的区域所在的行,该参数也可以是数值
ColumnBegin, ColumnEnd:生成的区域开始列与结束列

get_region_runs(Region : : : Row, ColumnBegin, ColumnEnd)

作用:获得区域的行程坐标,此算子与gen_region_runs算子为互逆运算操作
Region:计算区域的行程坐标
Row:区域所在的行
ColumnBegin, ColumnEnd:区域所在的开始列与结束列

runlength_features(Regions : : : NumRuns, KFactor, LFactor, MeanLength, Bytes)

作用:统计区域行程的特征
Regions:将要消除的区域对象
NumRuns:行程个数
KFactor, LFactor:K特征与L特征 K F a c t o r = N u m R u n s A r e a KFactor = \frac{NumRuns}{\sqrt{Area}} KFactor=Area NumRuns
MeanLength:行程平均长度
Bytes:行程编码所占内存大小

eliminate_runs(Region : RegionClipped : ElimShorter, ElimLonger : )

作用:消除长度小于ElimShorter和长度大于ElimLonger的行程
Region:想消除一定行程所在的区域
RegionClipped:消除行程后获得的区域
ElimShorter:保留行程长度的最小值
ElimLonger:保留行程长度的最大值

elliptic_axis(Regions : : : Ra, Rb, Phi)

作用:计算等效椭圆参数
Regions:进行计算的区域
Ra, Rb, Phi:计算得到等效椭圆的长半轴、短半轴、相对于x轴正方向的夹角

disp_ellipse( : : WindowHandle, CenterRow, CenterCol, Phi, Radius1, Radius2 : )

作用:在指定窗口中画椭圆
WindowHandle:窗口句柄
CenterRow, CenterCol:中心点的行列坐标
Phi:相对于x轴的正方向的夹角
Radius1, Radius2:椭圆长短半轴

fill_up(Region : RegionFillUp : : )

作用:填充区域中的孔和缝等,将输入区域的孔和缝隙进行填充,形成新的区域
Region:输入含孔、缝隙的区域
RegionFillUp:填充后的输出区域

circularity(Regions : : : Circularity)

作用:计算与区域的圆度(与圆的相似程度)
Regions:输入的区域
Circularity:输出的圆度

shape_trans(Region : RegionTrans : Type : )

作用:将区域根据输入的Type改变形状
Region:输入的待变换的区域
RegionTrans:变换后的输出区域
Type:变换的类型(‘convex’, ‘ellipse’, ‘inner_center’, ‘inner_circle’, ‘inner_rectangle1’, ‘outer_circle’, ‘rectangle1’, ‘rectangle2’)

smallest_rectangle1(Regions : : : Row1, Column1, Row2, Column2)

作用:计算平行坐标轴的最小外接矩形参数
Regions:进行计算的区域
Row1, Column1:平行坐标轴的最小外接矩形左上角点坐标
Row2, Column2:平行坐标轴的最小外接矩形右下角点坐标

smallest_rectangle2(Regions : : : Row, Column, Phi, Length1, Length2)

作用:计算区域任意方向最小外接矩形参数
Regions:进行计算的区域
Row, Column:任意方向最小外接矩形左上角坐标
Phi:任意方向最小外接矩形方向
Length1,Length2:任意方向最小外接矩形长宽的一半

smallest_circle(Regions : : : Row, Column, Radius)

作用:计算最小外接圆参数
Regions:进行计算的区域
Row,Column:区域外接圆圆心行、列坐标
Radius:区域外接圆半径

convexity(Regions : : : Convexity)

作用:计算区域的凸性
Regions:待计算的区域
Convexity:计算得到的凸性数值

rectangularity(Regions : : : Rectangularity)

作用:计算区域的矩形度(越接近矩形,矩形度越大)
Regions:待计算的区域
Rectangularity:区域的矩形度数值

compactness(Regions : : : Compactness)

作用:计算区域的紧密度
Regions:带计算区域
Compactness:紧密度(圆的紧密度是1,其他图形紧密度大于1)

eccentricity(Regions : : : Anisometry, Bulkiness, StructureFactor)

作用:计算区域的离心率
Regions:将要计算离心率的区域
Anisometry:区域的离心率
Bulkiness:区域的膨松度
StructureFactor:区域的结构因子

threshold_sub_pix(Image : Border : Threshold : )

作用:从具有像素精度的图像提取得到XLD轮廓
Image:要提取XLD的单通道图像
Border:提取得到的XLD轮廓
Threshold:提取XLD轮廓的阈值

edges_sub_pix(Image : Edges : Filter, Alpha, Low, High : )

作用:使用Deriche、Lanser、Shen或者Canny滤波器提取图像得到亚像素边缘
Image:要提取亚像素边缘的图像
Edges:提取得到的亚像素精度边缘
Filter:滤波器,包括’canny’, ‘canny_junctions’, ‘deriche1’, ‘deriche1_junctions’, ‘deriche2’, ‘deriche2_junctions’, ‘lanser1’, ‘lanser1_junctions’, ‘lanser2’, ‘lanser2_junctions’, ‘mshen’, ‘mshen_junctions’, ‘shen’, ‘shen_junctions’, ‘sobel’, ‘sobel_fast’, ‘sobel_junctions’
Alpha:光滑系数
Low:振幅小于Low的不作为边缘
High:振幅大于High的不作为边缘

select_shape_xld(XLD : SelectedXLD : Features, Operation, Min, Max : )

作用:选择特定形状特征要求的XLD轮廓或多边形
XLD:要提取的XLD轮廓
SelectedXLD:提取得到的XLD轮廓
Features:提取XLD的特征依据(‘anisometry’, ‘anisometry_points’, ‘area’, ‘area_points’, ‘bulkiness’, ‘circularity’, ‘column’, ‘column1’, ‘column2’, ‘column_points’, ‘compactness’, ‘contlength’, ‘convexity’, ‘height’, ‘max_diameter’, ‘moments_m02’, ‘moments_m02_points’, ‘moments_m11’, ‘moments_m11_points’, ‘moments_m20’, ‘moments_m20_points’, ‘orientation’, ‘orientation_points’, ‘outer_radius’, ‘phi’, ‘phi_points’, ‘ra’, ‘ra_points’, ‘ratio’, ‘rb’, ‘rb_points’, ‘rect2_len1’, ‘rect2_len2’, ‘rect2_phi’, ‘rectangularity’, ‘row’, ‘row1’, ‘row2’, ‘row_points’, ‘struct_factor’, ‘width’)
Operation:特征之间的逻辑关系(and、or)
Min, Max:特征值的范围

select_contours_xld(Contours : SelectedContours : Feature, Min1, Max1, Min2, Max2 : )

作用:选择多种特征要求的XLD轮廓(如长度开闭等特征,不支持多边形)
Contours:要提取的XLD轮廓
SelectedContours:提取得到的XLD轮廓
Features:提取XLD轮廓的特征依据(‘closed’, ‘contour_length’, ‘curvature’, ‘direction’, ‘maximum_extent’, ‘open’)
Min1, Max1, Min2, Max2:特征值的要求范围

gen_contour_region_xld(Regions : Contours : Mode : )

作用:区域Region转换成XLD轮廓
Regions:将要转换的区域
Contours:转换得到的XLD轮廓
Mode:转换模式,有边界方式(以区域的外边界点边缘点构成XLD)和中心方式(以边界点的中心为边缘点构成XLD)(‘border’, ‘border_holes’, ‘center’)

gen_region_contour_xld(Contour : Region : Mode : )

作用:从输入的XLD轮廓生成对应区域
Contour:输入的轮廓
Region:生成的区域
Mode:有两种方式,分别是填充和有轮廓返回(‘filled’, ‘margin’)

get_contour_xld(Contour : : : Row, Col)

作用:获得XLD的坐标点
Contour:输入的XLD轮廓
Row, Col:获得XLD点的行坐标与列坐标

gen_contour_polygon_xld( : Contour : Row, Col : )

作用:由多边形坐标点生成XLD
Contour:生成的XLD
Row, Col:生成XLD轮廓所需点的行、列坐标

gen_polygons_xld(Contours : Polygons : Type, Alpha : )

作用:多边形逼近轮廓生成多边形XLD
Contour:输入的XLD轮廓
Polygons:生成的多边形XLD
Type:多边形逼近方式(‘ramer’、‘ray’、‘sato’)
Alpha:逼近方式阈值

area_center_xld(XLD : : : Area, Row, Column, PointOrder)

作用:求XLD面积中心及点的排列次序
XLD:输入的XLD轮廓
Area:计算得到XLD的面积
Row, Column:计算得到的XLD中心坐标
PointOrder:点的排列顺序,'positive’为逆时针方向排序,'negative’为顺时针方向排序

query_contour_attribs_xld(Contour : : : Attribs)

作用:查询XLD包含哪些属性名称
Contour:将要查询的XLD轮廓
Attribs:查询XLD包含的属性名称

get_contour_attrib_xld(Contour : : Name : Attrib)

作用:计算XLD包含属性的属性值
Name:XLD的属性名称(‘angle’, ‘edge_direction’, ‘width_right’, ‘width_left’, ‘response’, ‘contrast’, ‘asymmetry’, ‘distance’)
Attrib:对应XLD属性名称的属性值

area_center_points_xld(XLD : : : Area, Row, Column)

作用:求XLD点云的面积与中心
Area:计算得到XLD点云的面积
Row, Column:计算得到XLD的中心坐标

gen_ellipse_contour_xld( : ContEllipse : Row, Column, Phi, Radius1, Radius2, StartPhi, EndPhi, PointOrder, Resolution : )

作用:生成椭圆XLD
ContEllipse:生成的椭圆XLD
Row, Column, Phi:椭圆的中心坐标及长轴角度
Radius1, Radius2:椭圆长半轴与短半轴的长度
StartPhi, EndPhi:生成椭圆的角度范围
PointOrder:椭圆XLD点的排序
Resolution:椭圆XLD上相邻点之间的最远距离

gen_circle_contour_xld( : ContCircle : Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution : )

作用:生成圆(圆弧)XLD
ContCircle:生成的圆(圆弧)XLD
Row, Column:圆心坐标
Radius:圆的半径
StartPhi, EndPhi:生成圆的角度范围
PointOrder:圆XLD点的排序
Resolution:圆XLD上相邻点之间的最远距离

test_self_intersection_xld(XLD : : CloseXLD : DoesIntersect)

作用:判断XLD是否自交
XLD:需要判断的XLD对象
CloseXLD:选择是否需要闭合XLD
DoesIntersect:由封闭的轮廓判断是否自相交

get_polygon_xld(Polygon : : : Row, Col, Length, Phi)

作用:获取多边形XLD的数据
Polygon:输入多边形
Row,Col:存放多边形的点的数据
Length:点i和点i+1之间的线段长度
Phi:点i和点i+1之间的线段的角度

elliptic_axis_xld(XLD : : : Ra, Rb, Phi)

作用:计算轮廓或多边形轮廓的等效椭圆参数
XLD:输入轮廓
Ra:长轴长度
Rb:短轴长度
Phi:椭圆长轴角度

circularity_xld(XLD : : : Circularity)

作用:计算XLD的圆度
XLD:输入的XLD轮廓
Circularity:返回圆度

convexity_xld(XLD : : : Convexity)

作用:计算XLD的凸性
XLD:输入的XLD轮廓
Convexity:返回凸性

compactness_xld(XLD : : : Compactness)

作用:计算XLD的紧密度
XLD:输入的XLD轮廓
Compactness:返回XLD的紧密度

diameter_xld(XLD : : : Row1, Column1, Row2, Column2, Diameter)

作用:返回XLD上距离最远的两个点及两个点之间的距离(先用test_self_intersection_xld算子判断是否自交,若自交则该算子计算结果将没有意义)
Row1, Column1, Row2, Column2:距离最远的两个点的坐标
Diameter:两个点之间的距离

smallest_rectangle1_xld(XLD : : : Row1, Column1, Row2, Column2)

作用:获取平行于坐标轴的最小外接矩形的左上和右下坐标
XLD:输入的XLD轮廓
Row1, Column1, Row2, Column2:左上和右下坐标

smallest_rectangle2_xld(XLD : : : Row, Column, Phi, Length1, Length2)

作用:获得任意角度的最小外接矩形中心坐标
XLD:输入的XLD轮廓
Row, Column:最小外接矩形的中心坐标
Phi:主轴与x轴正方向的夹角
Length1, Length2:矩形长边和短边长度的一半

moments_xld(XLD : : : M11, M20, M02)

作用:获得XLD封闭区域的二阶矩,矩的计算使用格林理论。

query_contour_global_attribs_xld(Contour : : : Attribs)
作用:查询特定的轮廓设置了哪些全局属性
Contour:轮廓
Attribs:该轮廓的全局属性

regress_contours_xld(Contours : RegressContours : Mode, Iterations : )

作用:计算XLD轮廓的回归直线
Contours:计算回归直线的轮廓
RegressContours:计算得到的回归直线
Mode:离散值对待策略
1.Mode=no,不排除偏离值
2.Mode=drop,大于平均值的都舍弃
3.Mode=gauss,用高斯分布来确定各距离点占用的权重比
4.Mode=median,利用中位数的标准差来舍弃偏离值
Iterations:迭代次数

get_contour_global_attrib_xld(Contour : : Name : Attrib)

作用:获取特定轮廓段的属性值
Contour:被选择的轮廓
Name:属性的名称(‘regr_norm_row’, ‘regr_norm_col’, ‘regr_mean_dist’, ‘regr_dev_dist’, ‘cont_approx’, ‘bright_dark’, ‘is_hole’)
Attrib:返回的属性的值

get_regress_params_xld(Contours : : : Length, Nx, Ny, Dist, Fpx, Fpy, Lpx, Lpy, Mean, Deviation)

作用:获取轮廓XLD的参数
Contours:将要处理的XLD对象
Length:得到的XLD点的个数
Nx, Ny:回归直线的法向量
Dist:原点到回归直线的距离
Fpx, Fpy:轮廓的开始点到回归直线的投影
Lpx, Lpy:轮廓的结束点到回归直线的投影
Mean:轮廓点到回归直线的平均距离
Deviation:轮廓点到回归直线距离的标准差

add_noise_white(Image : ImageNoise : Amp : )

作用:增加图像的白噪声
Image:原图
ImageNoise:处理后的图片
Amp:最大噪声幅度,值越大,噪声越多

crop_part(Image : ImagePart : Row, Column, Width, Height : )

作用:截图图像
Image:原图像
ImagePart:截取的图像
Row, Column:图像截取的起始点坐标
Width, Height:截取图像的宽、高

sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )

作用:两图像相减得到新图像
ImageMinuend:输入的被减图像
ImageSubtrahend:减数图像
ImageSub:结果图像
Mult:乘数因子(两图像相减后灰度值可能很小,图像很暗,此时成一个Mult提高对比度)
Add:加数因子,作用和Mult差不多,是让图像更明亮
I m a g e S u b = ( I m a g e M i n u e n d − I m a g e S u b t r a h e n d ) ∗ M u l t + A d d ImageSub=(ImageMinuend-ImageSubtrahend)*Mult+Add ImageSub=(ImageMinuendImageSubtrahend)Mult+Add

mult_image(Image1, Image2 : ImageResult : Mult, Add : )

作用:两图像相乘得到新图像
Image1, Image2:相乘的两图像
ImageResult:相乘得到的图像
Mult:乘数因子
Add:加数因子
I m a g e R e s u l t = I m a g e 1 ∗ I m a g e 2 ∗ M u l t + A d d ImageResult=Image1*Image2*Mult+Add ImageResult=Image1Image2Mult+Add

gen_image_gray_ramp( : ImageGrayRamp : Alpha, Beta, Mean, Row, Column, Width, Height : )

作用:创建灰度斜坡图
ImageGrayRamp:灰度斜坡图
Alpha, Beta:行方向、列方向的渐变
Mean:平均灰度值
Row, Column:参考点的坐标
Width, Height:图像的宽度、高度

div_image(Image1, Image2 : ImageResult : Mult, Add : )

作用:两图进行相除运算
Image1,2:被除图、除图
ImageResult:结果图像
Mult:乘数因子
Add:加数因子
I m a g e R e s u l t = I m a g e 1 ÷ I m a g e 2 ∗ M u l t + A d d ImageResult=Image1\div Image2*Mult+Add ImageResult=Image1÷Image2Mult+Add

draw_region( : Region : WindowHandle : )

作用:在窗口上绘制一个闭合的区域
Region:绘制的区域
WindowHandle:窗口句柄

hom_mat2d_identity( : : : HomMat2DIdentity)

作用:定义仿射变换矩阵
HomMat2DIdentity:仿射变化矩阵

hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)

作用:把旋转角度添加到仿射变换矩阵
Phi:旋转角度
Px, Py:旋转固定点的坐标
HomMat2DRotate:输出旋转变换后的矩阵

hom_mat2d_scale( : : HomMat2D, Sx, Sy, Px, Py : HomMat2DScale)

作用:在仿射变换中增加缩放变换
Sx, Sy:行列方向的缩放系数
Px, Py:缩放中心点坐标
HomMat2DScale:输出缩放变换后的矩阵

hom_mat2d_translate( : : HomMat2D, Tx, Ty : HomMat2DTranslate)

作用:在仿射变换中增加平移变换
Tx, Ty:行列的平移量
HomMat2DTranslate:输出平移变换后的矩阵

affine_trans_region(Region : RegionAffineTrans : HomMat2D, Interpolate : )

作用:对region做仿射变换
Region:变换前的区域
RegionAffineTrans:变换后的区域
HomMat2D:仿射变换矩阵
Interpolate:插值方法(‘constant’, ‘nearest_neighbor’)

opening_circle(Region : RegionOpening : Radius : )

作用:消除小区域(小于圆形结构)并平滑区域的边界
Region:输入的区域
RegionOpening:得到的区域
Radius:半径

hom_vector_to_proj_hom_mat2d( : : Px, Py, Pw, Qx, Qy, Qw, Method : HomMat2D)

作用:根据给定点的投影计算一个同质变换矩阵
Px, Py, Pw:图像变换前图像顶点x,y,w各自的坐标
Qx, Qy, Qw:图像变换后图像顶点x,y,w各自的坐标
Method:图像变换方式(‘dlt’, ‘normalized_dlt’),默认’normalized_dlt’
HomMat2D:输出其次投影变换矩阵

projective_trans_image(Image : TransImage : HomMat2D, Interpolation, AdaptImageSize, TransformDomain : )

作用:对图像应用投影变换
Image,TransImage:输入需要变换的图像,变换后的图像
HomMat2D:变换矩阵
Interpolation:插值方式(‘bilinear’, ‘nearest_neighbor’)默认’bilinear’
AdaptImageSize:是否自动调整输入图像的大小(‘false’, ‘true’)
TransformDomain:输入图像的域是否进行变换(‘false’, ‘true’)

create_data_code_2d_model( : : SymbolType, GenParamName, GenParamValue : DataCodeHandle)

作用:创建二维码识别模型
SymbolType:二维码类型( ‘Aztec Code’, ‘Data Matrix ECC 200’, ‘DotCode’, ‘GS1 Aztec Code’, ‘GS1 DataMatrix’, ‘GS1 DotCode’, ‘GS1 QR Code’, ‘Micro QR Code’, ‘PDF417’, ‘QR Code’)
GenParamName:可以为 2D 数据代码模型调整的通用参数的名称
GenParamValue:可以为 2D 数据代码模型调整的通用参数的值
DataCodeHandle:数据代码模型句柄

find_data_code_2d(Image : SymbolXLDs : DataCodeHandle, GenParamName, GenParamValue : ResultHandles, DecodedDataStrings)

作用:查找二维码
Image:输入图像
SymbolXLDs:围绕成功解码的数据代码符号的 XLD 轮廓
DataCodeHandle:二维数据代码模型的句柄
GenParamName:用于控制操作员行为的(可选)参数的名称
GenParamValue:可选泛型参数的值
ResultHandles:所有成功解码的二维数据代码符号的句柄

clear_data_code_2d_model( : : DataCodeHandle : )

作用:清除模型
DataCodeHandle:二维数据代码模型的句柄

dump_window( : : WindowHandle, Device, FileName : )

作用:将窗口内容以图像文件格式保存
WindowHandle:窗口句柄
Device:保存的格式类型(‘postscript’, ‘tiff’, ‘tiff deflate 9’, ‘tiff jpeg 90’, ‘tiff lzw’, ‘tiff packbits’, ‘bmp’, ‘jpeg’, ‘jpeg 100’, ‘jpeg 80’, ‘jpeg 60’, ‘jpeg 40’, ‘jpeg 20’, ‘jpegxr’, ‘jpegxr 50’, ‘jpegxr 40’, ‘jpegxr 30’, ‘jpegxr 20’, ‘jp2’, ‘jp2 50’, ‘jp2 40’, ‘jp2 30’, ‘jp2 20’, ‘png’, ‘png best’, ‘png fastest’, ‘png none’)
FileName:文件名(可加入路径)

invert_image(Image : ImageInvert : : )

作用:图像取反
Image,ImageInvert:输入图像和取反后的图像

emphasize(Image : ImageEmphasize : MaskWidth, MaskHeight, Factor : )

作用:增加图像的对比度
Image ,ImageEmphasize:输入图像和增强后的图像
MaskWidth, MaskHeight:低通掩模的宽和高
Factor:对比度增加系数

min_max_gray(Regions, Image : : Percent : Min, Max, Range)

作用:确定区域内的最小和最大灰度值
Regions:需要计算的区域
Image:输入的图像
Percent:低于(高于)绝对最大值(最低)的百分比
Min, Max:最小、最大灰度值
Range:最大最小的差值

scale_image_max(Image : ImageScaleMax : : )

作用:最大灰度值在取值范围为0到225之间展开
Image:输入图像
ImageScaleMax:增强后的图像

equ_histo_image(Image : ImageEquHisto : : )

作用:直方图均衡化
Image:输入图像
IamgeEquHisto:直方图均衡化后的图像

gauss_distribution( : : Sigma : Distribution)

作用:获得一个高斯噪声分布
Sigma:高斯噪声分布的标准偏差(0~100)
Distribution:高斯噪声

add_noise_distribution(Image : ImageNoise : Distribution : )

作用:将噪声添加到图像
Image:原图像
ImageNoise:添加噪声后的图像
Distribution:噪声

mean_image(Image : ImageMean : MaskWidth, MaskHeight : )

作用:均值滤波
Image,ImageMean:原图像、滤波后的图像
MaskWidth, MaskHeight:掩模宽度和高度

median_image(Image : ImageMedian : MaskType, Radius, Margin : )

作用:中值滤波
Iamge,ImageMean:原图像、滤波后的图像
MaskType:掩模类型(‘circle’, ‘square’)
Radius:掩模尺寸
Margin:边界处理(‘mirrored’, ‘cyclic’, ‘continued’, 0, 30, 60, 90, 120, 150, 180, 210, 240, 255)

sobel_amp(Image : EdgeAmplitude : FilterType, Size : )

作用:利用Sobel算子检测边缘
Image:输入图像
EdgeAmplitude:边缘梯度图像
FilterType:过滤类型(‘sum_abs’, ‘sum_abs_binomial’, ‘sum_sqrt’, ‘sum_sqrt_binomial’, ‘thin_max_abs’, ‘thin_max_abs_binomial’, ‘thin_sum_abs’, ‘thin_sum_abs_binomial’, ‘x’, ‘x_binomial’, ‘y’, ‘y_binomial’)
Size:掩模尺寸

laplace(Image : ImageLaplace : ResultType, MaskSize, FilterMask : )

作用:用有限差分计算拉普拉斯算子
Image:输入图像
ImageLaplace:拉普拉斯滤波结果图像
ResultType:图像类型
MaskSize:掩模尺寸
FilterMask:拉普拉斯掩模类型

fit_circle_contour_xld(Contours : : Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor : Row, Column, Radius, StartPhi, EndPhi, PointOrder)

作用:拟合圆
Contours:输入的轮廓
Algorithm:指定拟合圆的算法
MaxNumPoints:用于计算的最大轮廓点个数
MaxClosureDist:一个轮廓的端点最大间距被认为是闭合
ClippingEndPoints:在逼近过程中被忽略的开始及末尾点个数
Iterations:迭代的最大次数用于鲁棒加权拟合
ClippingFactor:消除异常值的裁剪因子(比例)
Row:圆心行坐标
Col:圆心列坐标
Radius:圆半径
StartPhi:开始点的角度(rad)
EndPhi:末尾点的角度(rad)
PointOrder:边界点的顺序

mirror_image(Image : ImageMirror : Mode : )

作用:镜像图像
Image,ImageMirror:原图像和镜像后的图像
Mode:镜像的属性(‘column’, ‘diagonal’, ‘row’)

roberts(Image : ImageRoberts : FilterType : )

作用:边缘检测算子,利用局部差分算子寻找边缘,边缘定位较准,但容易丢失一部分边缘,包括水平和垂直方向上的滤波器
Image:输入的图像
ImageRoberts:输出的边缘图像
FilterType:滤波器类型(‘gradient_max’, ‘gradient_sum’, ‘roberts_max’)

skeleton(Region : Skeleton : : )

作用:用于提取二值图像众的骨架,通过迭代去除二值图像众的边缘像素,最终得到一个只包含骨架的图像
Region:输入的二值图像
Skeleton:输出的骨架图像

prewitt_amp(Image : ImageEdgeAmp : : )

作用:边缘检测算子,用于检测图像中的边缘,可以通过在图像中滑动一个3x3的滤波器来实现,包括水平和垂直方向上的滤波器
Image:输入的图像
ImageEdgeAmp:输出的边缘强度图像(像素值变化率越大,边缘检测响应就越强)

kirsch_amp(Image : ImageEdgeAmp : : )

作用:边缘检测算子,用于检测图像中的边缘,通过滑动一个3x3的滤波器来实现,包括8个方向上的滤波器
Image:输入的图像
ImageEdgeAmp:输出的边缘强度图像

laplace_of_gauss(Image : ImageLaplace : Sigma : )

作用:边缘检测算子,是高斯滤波和拉普拉斯滤波的结合体,可以通过先对图像进行高斯滤波,然后对滤波后的图像进行拉普拉斯滤波来检测图像中的边缘
Image:输入的图像
ImageLaplace:输出的边缘响应图像
Sigma:高斯滤波的标准差

zero_crossing(Image : RegionCrossing : : )

作用:边缘检测算子,通过寻找图像中像素值变化的过渡区域,来检测图像中的边缘
Image:输入的图像
RegionCrossing:输出的只包含边缘的二值图像

edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )

作用:边缘检测算子
Image:输入的图像
ImaAmp:输出的边缘强度图像
ImaDir:输出的边缘方向图像
Filter:滤波算子
Alpha:NMS中的阈值
NMS:是否进行非极大值抑制
Low:低阈值
High:高阈值

gen_contours_skeleton_xld(Skeleton : Contours : Length, Mode : )

作用:从骨架图生成轮廓,可以根据骨架图生成一系列轮廓并返回轮廓的长度和类型
Skeleton:输出的骨架图
Contours:输出的轮廓
Length:输出的轮廓长度
Mode:轮廓类型(“outer”外轮廓、“inner”内轮廓)

gen_empty_region( : EmptyRegion : : )

作用:生成一个空区域
EmptyRegion:生成的空区域

expand_gray(Regions, Image, ForbiddenArea : RegionExpand : Iterations, Mode, Threshold : )

作用:用于将图像区域进行膨胀,将输入的图像区域在图像中进行膨胀
Regions:输入的待膨胀区域
Image:输入的原始图像
ForbiddenArea:输入的禁止膨胀区域,通常用于避免膨胀扩展到不希望扩展的区域
RegionExpand:输出的膨胀后的区域
Iterations:膨胀的迭代次数
Mode:膨胀的模式(“max”使用区域内最大像素值进行膨胀、“gray”使用区域内平均像素值进行膨胀)
Threshold:控制膨胀程度的阈值参数(Mode为“max”时表示最大像素值的差值;Mode为“gray”时表示像素值的标准差)

sobel_dir(Image : EdgeAmplitude, EdgeDirection : FilterType, Size : )

作用:计算图像边缘梯度和方向的算子
EdgeAmplitude:输入的待处理图像
EdgeDirectiong:输出的边缘强度图像,表示每个像素的边缘梯度
FilterType:滤波器类型( ‘sum_abs’, ‘sum_sqrt’, ‘sum_abs_binomial’, ‘sum_sqrt_binomial’)
Size:滤波器大小(常用3)

hough_lines_dir(ImageDir : HoughImage, Lines : DirectionUncertainty, AngleResolution, Smoothing, FilterSize, Threshold, AngleGap, DistGap, GenLines : Angle, Dist)

作用:根据输入的边缘方向图像对图像中的直线进行检测,并返回检测到的直线参数
ImageDir:输入的边缘方向图像
HoughImage:输出的Hough变换图像
Lines:输出的检测到的直线参数,每行表示一条直线,由极角和极径表示
DirectionUncertainty:方向不确定度,用于指定边缘方向的不确定度
AngleResolution:极角分辨率,用于指定Hough变换中极角的精度
Smoothing:平滑滤波器类型,用于平滑Hough变换图像,可以选择"gauss"或"binomial"
FilterSize:平滑滤波器大小,用于指定平滑滤波器的大小
Threshold:用于过滤弱直线的阈值
AngleGap:用于合并相邻的直线的极角差值阈值
DistGap:用于合并相邻的直线的极径差值阈值
GenLines:是否生成直线图像,可以选择"true"或"false"
Angle:输出的直线的极角
Dist:输出的直线的极径

gen_region_hline( : Regions : Orientation, Distance : )

作用:生成水平线区域,根据指定的方向和距离生成一条水平线
Regions:输出的生成的水平线区域
Orientation:水平线的方向,可以选择"positive"(向右)或"negative"(向左)
Distance:水平线的距离,表示水平线与图像原点的距离

create_ncc_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Metric : ModelID)

作用:用于创建基于归一化互相关(NCC)的模板匹配模型,可以根据输入的模板图像创建一个用于匹配的模型,并返回模型的ID
Template:输入的模板图像,用于创建模型
NumLevels:金字塔层数,用于指定图像金字塔的层数
AngleStart:旋转起始角度,用于指定旋转的起始角度
AngleExtent:旋转角度范围,用于指定旋转角度的范围
AngleStep:旋转角度步长,用于指定旋转角度的步长
Metric:相似度度量方法,可以选择"ncc"(归一化互相关)或"simple"(简单互相关)
ModelID:输出的模型ID,用于后续的匹配操作

find_ncc_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels : Row, Column, Angle, Score)

作用:用于基于归一化互相关(NCC)的模板匹配的算子,可以在输入的图像中查找与指定模型相匹配的位置,并返回匹配结果
Image:输入的图像,用于匹配模型
ModelID:用于匹配的模型ID
AngleStart:旋转起始角度,用于指定旋转的起始角度
AngleExtent:旋转角度范围,用于指定旋转角度的范围
MinScore:最小相似度得分,用于过滤得分较低的匹配结果
NumMatches:最大匹配数,用于限制输出的匹配结果数量
MaxOverlap:最大重叠度,用于过滤重叠度较高的匹配结果
SubPixel:是否进行亚像素级别的匹配,可以选择"true"或"false"
NumLevels:金字塔层数,用于指定图像金字塔的层数
Row:输出的匹配结果的行坐标
Column:输出的匹配结果的列坐标
Angle:输出的匹配结果的旋转角度
Score:输出的匹配结果的相似度得分

vector_angle_to_rigid( : : Row1, Column1, Angle1, Row2, Column2, Angle2 : HomMat2D)

作用:计算由一个向量旋转到另一个向量所需的刚性变换矩阵
Row1:第一个向量的行坐标
Column1:第一个向量的列坐标
Angle1:第一个向量的方向,以弧度制表示
Row2:第二个向量的行坐标
Column2:第二个向量的列坐标
Angle2:第二个向量的方向,以弧度制表示
HomMat2D:输出的刚性变换矩阵

clear_ncc_model( : : ModelID : )

作用:用于清除指定NCC模型
ModelID:需要清除的NCC模型的ID

create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)

作用:用于创建基于形状匹配的模板匹配模型
Template:输入的模板图像,用于创建模型
NumLevels:金字塔层数,用于指定图像金字塔的层数
AngleStart:旋转起始角度,用于指定旋转的起始角度
AngleExtent:旋转角度范围,用于指定旋转角度的范围
AngleStep:旋转角度步长,用于指定旋转角度的步长
Optimization:优化方法,用于指定模型优化方式,可以选择"none"(不进行优化)或"point_reduction_high"(高级点简化)或"point_reduction_low"(低级点简化)
Metric:相似度度量方法,可以择"shape_based_matching"(基于形状匹配)或"normalized_correlation"(归一化互相关)
Contrast:对比度增强因子,用于增强输入图像的对比度
MinContrast:最小对比度阈值,用于过滤对比度较低的区域
ModelID:输出的模型ID,用于后续的匹配操作

get_shape_model_contours( : ModelContours : ModelID, Level : )

作用:获取基于形状匹配的模板匹配模型的轮廓数据
ModelContours:输出的XLD对象,包含了轮廓数据
ModelID:需要获取轮廓数据的模型的ID
Level:需要获取轮廓数据的金字塔层数

count_seconds( : : : Seconds)

作用:获取当前的系统时间,返回自程序启动以来经过的秒数
Seconds:输出参数,当前时间与程序启动时间之间的时间差,以秒为单位

find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score)

作用:根据输入的模型ID和其它相关参数,在图像中找到与模板最相似的区域,并返回匹配结果的位置、旋转角度和相似度
Image:输入的待匹配图像
ModelID:用于匹配的模型的ID
AngleStart:旋转起始角度,用于指定旋转的起始角度
AngleExtent:旋转角度范围,用于指定旋转角度的范围
MinScore:最小相似度阈值,用于过滤相似度较低的匹配结果
NumMatches:最大匹配数量,用于限制匹配结果的数量
MaxOverlap:最大重叠度,用于过滤重叠度较高的匹配结果
SubPixel:亚像素精度,用于指定匹配结果的精度级别
NumLevels:金字塔层数,用于指定图像金字塔的层数
Greediness:贪婪程度,用于指定匹配结果的贪婪程度
Row:输出参数,匹配结果的行坐标
Column:输出参数,匹配结果的列坐标
Angle:输出参数,匹配结果的旋转角度
Score:输出参数,匹配结果的相似度

gen_cross_contour_xld( : Cross : Row, Col, Size, Angle : )

作用:用于生成十字形状的XLD对象
Row:输入参数,十字的中心位置的行坐标
Col:输入参数,十字的中心位置的列坐标
Size:输入参数,十字的大小,用于指定十字的臂长长度
Angle:输入参数,十字的旋转角度,用于指定十字的旋转角度
Cross:输出的XLD对象,包含了十字的轮廓数据

get_image_pointer1(Image : : : Pointer, Type, Width, Height)

作用:可以根据输入的图像,返回指向图像数据的指针,并获取图像的数据类型、宽度和高度
Image:输入的图像对象
Pointer:输出参数,指向图像数据的指针
Type:输出参数,图像的数据类型
Width:输出参数,图像的宽度
Height:输出参数,图像的高度

inspect_shape_model(Image : ModelImages, ModelRegions : NumLevels, Contrast : )

作用:检查形状模板匹配,根据输入的模型图像和匹配区域,检查形状模板匹配的结果,并返回检查结果
Image:输入的待匹配图像
ModelImages:输入的模型图像
ModelRegions:输入的匹配区域
NumLevels:金字塔层数,用于指定图像金字塔的层数
Contrast:对比度因子,用于指定对比度的阈值

erosion_circle(Region : RegionErosion : Radius : )

作用:对二值图像进行圆形腐蚀操作
Region:输入的二值图像区域
RegionErosion:输出的腐蚀后的二值图像区域
Radius:输入的圆形腐蚀半径

erosion_rectangle1(Region : RegionErosion : Width, Height : )

作用:对二值图像进行矩形腐蚀操作
Region:输入的二值图像区域
RegionErosion:输出的腐蚀后的二值图像区域
Width:输入的矩形腐蚀宽度
Height:输入的矩形腐蚀高度

erosion1(Region, StructElement : RegionErosion : Iterations : )

作用:对二值图像进行形态学腐蚀操作
Region:输入的二值图像区域
StructElement:输入的结构元素,用于指定腐蚀操作的形态学结构
RegionErosion:输出的腐蚀后的二值图像区域
Iterations:迭代次数,用于指定腐蚀操作的迭代次数

erosion2(Region, StructElement : RegionErosion : Row, Column, Iterations : )

作用:对二值图像进行形态学腐蚀操作
Region:输入的二值图像区域
StructElement:输入的结构元素,用于指定腐蚀操作的形态学结构
RegionErosion:输出的腐蚀后的二值图像区域。
Row:输入的起始行坐标
Column:输入的起始列坐标
Iterations:迭代次数,用于指定腐蚀操作的迭代次数

dilation_circle(Region : RegionDilation : Radius : )

作用:对二值图像进行圆形膨胀操作
Region:输入的二值图像区域
RegionDilation:输出的膨胀后的二值图像区域
Radius:输入的圆形膨胀半径

dilation_rectangle1(Region : RegionDilation : Width, Height : )

作用:对二值图像进行矩形膨胀操作
Region:输入的二值图像区域
RegionDilation:输出的膨胀后的二值图像区域
Width:输入的矩形膨胀宽度
Height:输入的矩形膨胀高度

dilation1(Region, StructElement : RegionDilation : Iterations : )

作用:对二值图像进行形态学膨胀操作
Region:输入的二值图像区域
StructElement:输入的结构元素,用于指定膨胀操作的形态学结构
RegionDilation:输出的膨胀后的二值图像区域
Iterations:迭代次数,用于指定膨胀操作的迭代次数

dilation2(Region, StructElement : RegionDilation : Row, Column, Iterations : )

作用:对二值图像进行形态学膨胀操作
Region:输入的二值图像区域
StructElement:输入的结构元素,用于指定膨胀操作的形态学结构
RegionDilation:输出的膨胀后的二值图像区域
Row:输入的起始行坐标
Column:输入的起始列坐标
Iterations:迭代次数,用于指定膨胀操作的迭代次数

opening(Region, StructElement : RegionOpening : : )

作用:对二值图像进行形态学开运算
Region:输入的二值图像区域
StructElement:输入的结构元素,用于指定开运算的形态学结构
RegionOpening:输出的开运算后的二值图像区域

opening_circle(Region : RegionOpening : Radius : )

作用:对二值图像进行圆形开运算
Region:输入的二值图像区域
RegionOpening:输出的开运算后的二值图像区域
Radius:输入的圆形开运算半径

opening_rectangle1(Region : RegionOpening : Width, Height : )

作用:对二值图像进行矩形开运算
Region:输入的二值图像区域
RegionOpening:输出的开运算后的二值图像区域
Width:输入的矩形开运算宽度
Height:输入的矩形开运算高度

closing(Region, StructElement : RegionClosing : : )

作用:对于二值图像进行形态学闭运算
Region:输入的二值图像区域
StructElement:输入的结构元素,用于指定闭运算的形态学结构
RegionClosing:输出的闭运算后的二值图像区域

closing_circle(Region : RegionClosing : Radius : )

作用:对二值图像进行圆形闭运算
Region:输入的二值图像区域
RegionClosing:输出的闭运算后的二值图像区域
Radius:输入的圆形闭运算半径

closing_rectangle1(Region : RegionClosing : Width, Height : )

作用:对于二值图像进行矩形闭运算
Region:输入的二值图像区域
RegionClosing:输出的闭运算后的二值图像区域
Width:输入的矩形闭运算宽度
Height:输入的矩形闭运算高度

fill_up_shape(Region : RegionFillUp : Feature, Min, Max : )

作用:对二值图像进行形态学填充运算
Region:输入的二值图像区域
RegionFillUp:输出的填充运算后的二值图像区域
Feature:输入的特征参数,用于指定填充运算的特征
Min:输入的区间参数,用于指定填充运算的最小值
Max:输入的区间参数,用于指定填充运算的最大值

fill_up(Region : RegionFillUp : : )

作用:对二值图像进行连通区域填充运算
Region:输入的二值图像区域
RegionFillUp:输出的填充运算后的二值图像区域


输入输出命令

stop( : : : )

作用:用于停止程序执行的算子

dev_display(Object : : : )

作用:用于显示图像
Object:输入的图像对象,可以是图像区域、图像数组、XLD对象等

dev_close_window( : : : )

作用:关闭当前窗口

dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)

作用:用于打开图像显示窗口
Row:输入的显示窗口的行数,表示窗口的位置的纵坐标
Column:输入的显示窗口的列数,表示窗口的位置的横坐标
Width:输入的显示窗口的宽度
Height:输入的显示窗口的高度
Background:输入的显示窗口的背景颜色,可以是一个颜色名称或颜色值
WindowHandle:输出的显示窗口句柄,用于后续的图像显示和操作

dev_set_color( : : ColorName : )

作用:设置图像显示颜色
ColorName:输入的颜色名称,可以是一个预定义的颜色名称,如"red"、“green”、“blue"等,也可以是一个RGB颜色值,如”#FF0000"表示红色

disp_message

作用:在图像显示窗口中显示文本信息
WindowHandle:输入的图像显示窗口句柄
String:输入的文本信息,可以是一个字符串或字符串数组
CoordSystem:输入的文本信息的坐标系,可以是"window"表示窗口坐标系,也可以是"image"表示图像坐标系
Row:输入的文本信息的纵坐标,表示文本信息在窗口坐标系或图像坐标系中的纵坐标
Column:输入的文本信息的横坐标,表示文本信息在窗口坐标系或图像坐标系中的横坐标
Color:输入的文本信息的颜色,可以是一个颜色名称或颜色值
Box:输入的文本信息的边框,可以是一个布尔值,表示是否在文本信息周围画一个边框

dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle)

作用:打开图像显示窗口
Row:输入的显示窗口的行数,表示窗口的位置的纵坐标
Column:输入的显示窗口的列数,表示窗口的位置的横坐标
Width:输入的显示窗口的宽度
Height:输入的显示窗口的高度
Background:输入的显示窗口的背景颜色,可以是一个颜色名称或颜色值
WindowHandle:输出的显示窗口句柄,用于后续的图像显示和操作

dev_set_draw( : : DrawMode : )

作用:设置图像显示的绘制模式
DrawMode:输入的绘制模式,可以是以下几种模式之一:
“margin”:绘制模式为边缘模式,即在图像显示窗口中只绘制图像边缘
“image”:绘制模式为图像模式,即在图像显示窗口中绘制整个图像
“none”:绘制模式为无模式,即在图像显示窗口中不进行绘制

dev_get_window( : : : WindowHandle)

作用:获取当前绘图上下文句柄
WindowHandle:输出的图像显示窗口句柄

dev_clear_window( : : : )

作用:用于清空图像显示窗口中显示内容

你可能感兴趣的:(学习,笔记,计算机视觉)