

在HDevelop中
dev_close_window ()
read_image (Image, 'D:/bb/tu/6.jpg')
rgb1_to_gray (Image, GrayImage)
edges_sub_pix (GrayImage, Edges, 'canny', 1, 5, 10)
*亞像素邊緣
select_shape_xld (Edges, SelectedXLD, 'area', 'and', 5500, 5600)
*根據形狀特征選擇輪廓
*參數1:輪廓集
*參數2:選中的輪廓
*參數3:形狀特征
* 'area': 輪廓的面積---默認
* 'area_points': 輪廓點的面積
* 'row': 中心的行索引
* 'column': 中心的列索引
* 'width': 輪廓的寬度
* 'height': 輪廓的高度
* 'ratio': 輪廓的高度與寬度之比
* 'row1': 左上角的行坐標
* 'column1': 左上角的列坐標
* 'row2': 右下角的行坐標
* 'column2': 右下角的列坐標
* 'circularity': 圓度
* 'compactness': 緊湊度
* 'contlength': 輪廓總長度
* 'convexity': 凸性
* 'ra': 等效橢圓的大半徑
* 'rb': 等效橢圓的小半徑
* 'phi': 等效橢圓的方向
* 'outer_radius': 最小外接圓半徑
* 'max_diameter': 最大直徑
* 'orientation': 輪廓的方向--弧度為單位
* 'rect2_phi': 最小外接矩形角度
* 'rect2_len1': 最小外接矩形長度的一半
* 'rect2_len2': 最小外接矩形寬度的一半
*參數4:特征之間的邏輯關系 (and or)
*參數5和參數6:Min,Max特征值的要求范圍
get_image_size (GrayImage, Width, Height)
dev_open_window(10,10,Width, Height,'black',WindowHandle)
dev_display(Edges)
dev_open_window(10,10,Width, Height,'black',WindowHandle1)
dev_display(SelectedXLD)

在QtCreator中
HObject ho_Image, ho_GrayImage, ho_Edges, ho_SelectedXLD;
HTuple hv_Width, hv_Height, hv_WindowHandle;
HTuple hv_WindowHandle1;
ReadImage(&ho_Image, "D:/bb/tu/6.jpg");
Rgb1ToGray(ho_Image, &ho_GrayImage);
EdgesSubPix(ho_GrayImage, &ho_Edges, "canny", 1, 5, 10);
//亞像素邊緣
SelectShapeXld(ho_Edges, &ho_SelectedXLD, "area", "and", 5500, 5600);
//根據形狀特征選擇輪廓
//參數1:輪廓集
//參數2:選中的輪廓
//參數3:形狀特征
// 'area': 輪廓的面積---默認
// 'area_points': 輪廓點的面積
// 'row': 中心的行索引
// 'column': 中心的列索引
// 'width': 輪廓的寬度
// 'height': 輪廓的高度
// 'ratio': 輪廓的高度與寬度之比
// 'row1': 左上角的行坐標
// 'column1': 左上角的列坐標
// 'row2': 右下角的行坐標
// 'column2': 右下角的列坐標
// 'circularity': 圓度
// 'compactness': 緊湊度
// 'contlength': 輪廓總長度
// 'convexity': 凸性
// 'ra': 等效橢圓的大半徑
// 'rb': 等效橢圓的小半徑
// 'phi': 等效橢圓的方向
// 'outer_radius': 最小外接圓半徑
// 'max_diameter': 最大直徑
// 'orientation': 輪廓的方向--弧度為單位
// 'rect2_phi': 最小外接矩形角度
// 'rect2_len1': 最小外接矩形長度的一半
// 'rect2_len2': 最小外接矩形寬度的一半
//參數4:特征之間的邏輯關系 (and or)
//參數5和參數6:Min,Max特征值的要求范圍
GetImageSize(ho_GrayImage, &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_Edges, HDevWindowStack::GetActive());
SetWindowAttr("background_color","black");
OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle1);
HDevWindowStack::Push(hv_WindowHandle1);
if (HDevWindowStack::IsOpen())
DispObj(ho_SelectedXLD, HDevWindowStack::GetActive());
