zl程序教程

您现在的位置是:首页 >  其它

当前栏目

halcon脚本-区域转化功能

功能 脚本 区域 转化 HALCON
2023-09-27 14:21:00 时间


前言

本文主要介绍基于鞋底照片获取区域点及最小矩形,区域点代表围绕着鞋底周边的坐标


一.实验图片

在这里插入图片描述

二.思路

1)首先鉴于现场环境,则直接二值化获取初步的区域位置,并且根据面积得到鞋底在图像上的区域面积
2)区域已经获得之后,则开始对区域进行处理,分别是区域转矩形、获取区域所有点、获取区域中心等
3)最小矩形+矩形中心

三.halcon脚本

read_image (Image1, './20181029/2018-10-29_10_52_10_953.bmp')
get_image_size(Image1,Width,Height)
dev_close_window()
dev_open_window(0,0,Width/4,Height/4,'white',HWindowID)
dev_display(Image1)
rgb1_to_gray(Image1,ImageGray)
threshold (Image1, Regions, 40, 255)
connection (Regions, ConnectedRegions)
area_center (ConnectedRegions, Area, Row, Column)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 500000, 99999999)
***************************************************************************
*区域转化为矩形
shape_trans (SelectedRegions, RegionTrans, 'rectangle2')
*获取区域所有的点
get_region_points (RegionTrans, Rows, Columns)
*计算Image图像的Region区域的Ra,Rb和Phi
elliptic_axis_gray (SelectedRegions, ImageGray, Ra, Rb, Phi)
*获取矩形区域的中心点
area_center (SelectedRegions, Area, Row, Column)
disp_cross (HWindowID, Row, Column, 60, Phi)
***************************************************************************
smallest_rectangle2 (SelectedRegions, Row3, Column3, Phi1, Length1, Length2)

dev_display(Image1)
dev_set_draw ('margin')
dev_set_color('orange')
gen_rectangle2 (Rectangle, Row3, Column3, Phi1, Length1, Length2)
dev_set_color('red')
dev_display(SelectedRegions)
dev_set_color('green')
disp_cross (HWindowID, Row3, Column3, 60, Phi1)
*在窗口已设定光标位置显示字符串
write_string(3600,Length1*2)
*设置光标位置
set_tposition(3600,60,0)
write_string(3600,Length2*2)