【HALCON】学习笔记

您所在的位置:网站首页 halcon求轮廓的拐点 【HALCON】学习笔记

【HALCON】学习笔记

2023-05-28 14:45| 来源: 网络整理| 查看: 265

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=GMax−GMin255​ 变换公式: g ′ = g ∗ M u l t + A d d g' = g*Mult +Add g′=g∗Mult+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π​≤Phi≤2π​

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=(ImageMinuend−ImageSubtrahend)∗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=Image1∗Image2∗Mult+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÷Image2∗Mult+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’)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3