文档详情

halcon学习笔记——实例篇 长度和角度测量.docx

发布:2024-03-09约1.82千字共2页下载文档
文本预览下载声明

halcon学习笔记——实例篇 长度和角度测量

实例二:长度和角度测量素材图片:

halcon代码:

1:

1:*读取并截取图片

2:dev_close_window()

3:read_image(Image,D:/MyFile/halcon/长度和角度测量/图.png)4:crop_rectangle1(Image,ImagePart,75,0,400,400)

5:get_image_size(ImagePart,Width,Height)

6:dev_open_window(0,0,Width,Height,black,WindowHandle)

7:dev_display(ImagePart)

8:

9:*获取图形的边界

10:threshold(ImagePart,Regions,0,112)

11:

12:*分离三角形和圆形

13:connection(Regions,ConnectedRegions)

14:sort_region(ConnectedRegions,SortedRegions,upper_left,true,column)

15:select_obj(SortedRegions,Circle,1)

16:select_obj(SortedRegions,Triangle,2)

17:

18:*获取三角形各边的信息

19:skeleton(Triangle,TriangleSkeleton)

20:gen_contours_skeleton_xld(TriangleSkeleton,TriangleContours,1,filter)

21:segment_contours_xld(TriangleContours,ContoursSplit,lines_circles,5,4,2)

22:select_contours_xld(ContoursSplit,SelectedContours,contour_length,100,999,-0.5,

0.5)

23:fit_line_contour_xld(SelectedContours,tukey,-1,10,5,2,RowBegin,ColBegin,RowEnd,ColEnd,Nr,Nc,Dist)

24:

25:*计算三角形角度

26:angle_ll(RowBegin[0],ColBegin[0],RowEnd[0],ColEnd[0],RowBegin[1],ColBegin[1],RowEnd[1],ColEnd[1],Angle1)

27:angle_ll(RowBegin[0],ColBegin[0],RowEnd[0],ColEnd[0],RowBegin[2],ColBegin[2],RowEnd[2],ColEnd[2],Angle2)

28:angle_ll(RowBegin[1],ColBegin[1],RowEnd[1],ColEnd[1],RowBegin[2],ColBegin[2],RowEnd[2],ColEnd[2],Angle3)

29:Angle1:=abs(deg(Angle1))

30:Angle2:=abs(deg(Angle2))

31:Angle3:=abs(deg(Angle3))

32:

33:*获取圆的信息

34:area_center(Circle,AreaCircle,RowCircle,ColumnCircle)35:

36:*计算圆心到三角形各边的距离37:Distance:=[]

38:forIndex:=0to2by1

39:distance_pl(RowCircle,ColumnCircle,RowBegin[Index],ColBegin[Index],RowEnd[Index],ColEnd[Index],ThisDistance)

40:Distance:=[Distance,ThisDistance]41:endfor

显示全部
相似文档