Halcon 2D平移旋转矩阵

read_image (Test, 'E:/测量程序/矩阵/test.png')

hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_translate (HomMat2DIdentity, 500, 0, HomMat2DTranslate)
*初始点位
gen_rectangle1 (ROI_0, 244.647, 320.882, 425.014, 394.131)
reduce_domain (Test, ROI_0, ImageReduced)
mean_image (ImageReduced, ImageMean, 9, 9)
dyn_threshold (ImageReduced, ImageMean, RegionDynThresh, 5, 'dark')
connection (RegionDynThresh, ConnectedRegions)
fill_up (ConnectedRegions, RegionFillUp1)
area_center (RegionFillUp1, Area1, Row1, Column1)
wait_seconds (0.2)
*第二个点位
 affine_trans_region (RegionFillUp1, RegionFillUp2, HomMat2DTranslate, 'nearest_neighbor')
area_center (RegionFillUp2, Area2, Row2, Column2)
*模拟半径
gen_circle_contour_xld (ContCircle, Row2, Column2, (Row2-Row1), 0, 6.28318, 'positive', 1)


*第三个点位
hom_mat2d_identity (HomMat2DIdentity1)
hom_mat2d_rotate (HomMat2DIdentity1,rad(-36),  Row2,Column2, HomMat2DRotate1)
affine_trans_region (RegionFillUp1, RegionFillUp3, HomMat2DRotate1, 'nearest_neighbor')
area_center (RegionFillUp3, Area3, Row3, Column3)


*半径
distance_pp (Row2, Column2, Row3, Column3, Distance)
gen_circle_contour_xld (ContCircle1, Row3, Column3, Distance, 0, 6.28318, 'positive', 1)
*第四个点位
hom_mat2d_identity (HomMat2DIdentity2)
hom_mat2d_rotate (HomMat2DIdentity2,rad(-36),  Row3,Column3, HomMat2DRotate2)
affine_trans_region (RegionFillUp2, RegionFillUp4, HomMat2DRotate2, 'nearest_neighbor')
area_center (RegionFillUp4, Area4, Row4, Column4)
gen_circle_contour_xld (ContCircle2, Row4, Column4, Distance, 0, 6.28318, 'positive', 1)
*第五个点位
hom_mat2d_identity (HomMat2DIdentity3)
hom_mat2d_rotate (HomMat2DIdentity3,rad(-36),  Row4,Column4, HomMat2DRotate3)
affine_trans_region (RegionFillUp3, RegionFillUp5, HomMat2DRotate3, 'nearest_neighbor')
area_center (RegionFillUp5, Area5, Row5, Column5)
gen_circle_contour_xld (ContCircle3, Row5, Column5, Distance, 0, 6.28318, 'positive', 1)
gen_circle_contour_xld (ContCircle4, Row1, Column1, Distance, 0, 6.28318, 'positive', 1)


*直线
gen_region_line (RegionLines1, Row1, Column1, Row2, Column2)
gen_region_line (RegionLines2, Row2, Column2, Row3, Column3)
gen_region_line (RegionLines3, Row3, Column3, Row4, Column4)
gen_region_line (RegionLines4, Row4, Column4, Row5, Column5)
gen_region_line (RegionLines5, Row5, Column5, Row1, Column1)


*交点
intersection_lines (Row1, Column1, Row2, Column2, Row3, Column3, Row4, Column4, Row11, Column11, IsOverlapping)
gen_circle (Circle11, Row11, Column11, 10.5)
intersection_lines (Row1, Column1, Row2, Column2, Row4, Column4, Row5, Column5, Row12, Column12, IsOverlapping)
gen_circle (Circle12, Row12, Column12, 10.5)
intersection_lines (Row2, Column2, Row3, Column3, Row4, Column4, Row5, Column5, Row13, Column13, IsOverlapping)
gen_circle (Circle13, Row13, Column13, 10.5)
intersection_lines (Row2, Column2, Row3, Column3, Row5, Column5, Row1, Column1, Row14, Column14, IsOverlapping)
gen_circle (Circle14, Row14, Column14, 10.5)
intersection_lines (Row3, Column3, Row4, Column4,  Row5, Column5, Row1, Column1, Row15, Column15, IsOverlapping)
gen_circle (Circle15, Row15, Column15, 10.5)


*生成多边形
R:=[Row1,Row11,Row4,Row12,Row2,Row13,Row5,Row14,Row3,Row15,Row1]
C:=[Column1,Column11,Column4,Column12,Column2,Column13,Column5,Column14,Column3,Column15,Column1]
gen_contour_polygon_xld (Contour, R, C)
gen_region_contour_xld (Contour, Region, 'filled')


dev_display (Test)
dev_display (RegionFillUp1)
dev_display (RegionFillUp2)
dev_display (RegionFillUp3)
dev_display (RegionFillUp4)
dev_display (RegionFillUp5)
dev_display (Circle11)
dev_display (Circle12)
dev_display (Circle13)
dev_display (Circle14)
dev_display (Circle15)
dev_display (RegionLines1)
dev_display (RegionLines2)
dev_display (RegionLines3)
dev_display (RegionLines4)
dev_display (RegionLines5)


dev_display (Region)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值