![](https://img2022.cnblogs.com/blog/1502586/202201/1502586-20220120221800438-786509633.png)
![](https://img2022.cnblogs.com/blog/1502586/202203/1502586-20220322154616016-1502441639.jpg)
在HDevelop中
dev_close_window ()
dev_update_off()
read_image (Image9, 'D:/bb/tu/9.jpg')
rgb1_to_gray (Image9, GrayImage)
threshold (GrayImage, Region, 200, 255)
connection (Region, ConnectedRegions)
select_obj (ConnectedRegions, ObjectSelected, 1)
select_obj (ConnectedRegions, ObjectSelected1, 2)
area_center (ObjectSelected, Area, Row, Column)
area_center (ObjectSelected1, Area1, Row1, Column1)
get_image_size (Image9, Width, Height)
dev_open_window(10,10,Width, Height,'black',WindowHandle)
dev_display(ObjectSelected)
dev_open_window(10,100,Width, Height,'black',WindowHandle1)
dev_display(ObjectSelected1)
distance_pp (Row, Column, Row1, Column1, Distance)
*求两点的距离
*参数1:第一个点的行坐标-y
*参数2:第一个点的列坐标-x
*参数3:第二个点的行坐标-y
*参数4:第二个点的列坐标-x
*参数5:返回的距离
![](https://img2022.cnblogs.com/blog/1502586/202203/1502586-20220322154924258-1978215619.png)
在QtCreator中
HObject ho_Image9, ho_GrayImage, ho_Region, ho_ConnectedRegions;
HObject ho_ObjectSelected, ho_ObjectSelected1;
HTuple hv_Area, hv_Row, hv_Column, hv_Area1;
HTuple hv_Row1, hv_Column1, hv_Width, hv_Height, hv_WindowHandle;
HTuple hv_WindowHandle1, hv_Distance;
ReadImage(&ho_Image9, "D:/bb/tu/9.jpg");
Rgb1ToGray(ho_Image9, &ho_GrayImage);
Threshold(ho_GrayImage, &ho_Region, 200, 255);
Connection(ho_Region, &ho_ConnectedRegions);
SelectObj(ho_ConnectedRegions, &ho_ObjectSelected, 1);
SelectObj(ho_ConnectedRegions, &ho_ObjectSelected1, 2);
AreaCenter(ho_ObjectSelected, &hv_Area, &hv_Row, &hv_Column);
AreaCenter(ho_ObjectSelected1, &hv_Area1, &hv_Row1, &hv_Column1);
GetImageSize(ho_Image9, &hv_Width, &hv_Height);
SetWindowAttr("background_color","black");
OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle);
HDevWindowStack::Push(hv_WindowHandle);
if (HDevWindowStack::IsOpen())
DispObj(ho_ObjectSelected, HDevWindowStack::GetActive());
SetWindowAttr("background_color","black");
OpenWindow(10,100,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle1);
HDevWindowStack::Push(hv_WindowHandle1);
if (HDevWindowStack::IsOpen())
DispObj(ho_ObjectSelected1, HDevWindowStack::GetActive());
DistancePp(hv_Row, hv_Column, hv_Row1, hv_Column1, &hv_Distance);
//求两点的距离
//参数1:第一个点的行坐标-y
//参数2:第一个点的列坐标-x
//参数3:第二个点的行坐标-y
//参数4:第二个点的列坐标-x
//参数5:返回的距离
![](https://img2022.cnblogs.com/blog/1502586/202201/1502586-20220120221242675-908265425.png)