if (ho_imgOrg.Key.ToInt64() == 0)
return;
* 数值转为字符串
ShowMsg := BallRadius1 $'.3f'
* 显示信息 12 为坐标
disp_message (WindowHandle, 'ShowMsg', 'image', 12, 12, 'black', 'true')
普通数值
* 数组的创建
BallDiffAbsList:=[]
* 创建元素
RadiusDiffAbs = 1
* 元素添加到数组中
BallDiffAbsList:=[BallDiffAbsList, RadiusDiffAbs]
区域\图片数组
* 创建数组
gen_empty_obj (BadPadRegions)
* 生成区域 padDetectCircle
* 将区域添加到数组中
concat_obj (BadPadRegions, padDetectCircle, BadPadRegions)
* 统计数组的个数
count_obj (FoundRegions, objNumber)
* 遍历数组
for I := 1 to objNumber by 1
* 选择其中的一个元素
select_obj (FoundPadRegions, selectRegion, I)
* 输出 MinIndex 索引
tuple_find (padDistances, PadsMinDistance, MinIndex)
* 数值相减的绝对值
tuple_abs(Radius1 - Radius2, RadiusDiffAbs)
* 获取数组中最小的值
tuple_min (padDistances, MinDistance)
tuple_max (padDistances, MaxDistance)
* 生成多个 中心点坐标(方便后续多点计算)
tuple_gen_const (Number, PadRow, centerRows)
tuple_gen_const (Number, PadCol, centerCols)
* 多点与点的距离
* Rows, Columns 多点的的数组
* 中心坐标 centerRows centerCols
distance_pp (int(Rows), int(Columns), centerRows, centerCols, padDistances)
* 最近距离
tuple_min (padDistances, PadsMinDistance)
rgb1_to_gray (Image, GrayImage)
* 抽取通道
access_channel
* 获取通道数
count_channels
* 通道的分离
decompose3
* 合并通道
compose3
* 连通域分析
connection (RegionFillUp, ConnectedRegions)
* 获取最大连通域
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 100)
* 凸包区域
shape_trans (RegionFillUp, RegionTrans, 'convex')
* 外接矩形
smallest_rectangle2 (RegionTrans, Row, Column, Phi, Length1, Length2)
* 计算仿射变换矩阵
vector_angle_to_rigid (Row, Column, Phi, Row, Column, 0, HomMat2D)
* 将原始图片转正
affine_trans_image (GrayImage, Image2, HomMat2D, 'constant', 'false')
dev_set_color ('red')