1. 程式人生 > 其它 >halcon-smallest_rectangle1返回最小外接正矩形資料

halcon-smallest_rectangle1返回最小外接正矩形資料

在HDevelop中

 

 

read_image (Image, 'D:/bb/tu/5.jpg')
rgb1_to_gray(Image,Image1)
threshold (Image1, Region,[75] , [90])

smallest_rectangle1 (Region, Row1, Column1, Row2, Column2)
*返回最小外接正矩形資料
*引數1:輸入區域
*引數2:左上角點的行座標-y座標
*引數3:左上角點的列座標-x座標
*引數4:右上角點的行座標-y座標
*引數5:右上角點的列座標-x座標

gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)

get_image_size (Image1, Width, Height)
dev_open_window(
10,10,Width, Height,'black',WindowHandle) dev_display(Region) dev_open_window(10,100,Width, Height,'black',WindowHandle1) dev_display(Rectangle)

 

 

 

在QtCreator中

  HObject  ho_Image, ho_Image1, ho_Region, ho_Rectangle;
  HTuple  hv_Row1, hv_Column1, hv_Row2, hv_Column2;
  HTuple  hv_Width, hv_Height, hv_WindowHandle, hv_WindowHandle1;
  ReadImage(&ho_Image, "D:/bb/tu/5.jpg");
  Rgb1ToGray(ho_Image, &ho_Image1);
  Threshold(ho_Image1, &ho_Region, 75, 90);

  SmallestRectangle1(ho_Region, &hv_Row1, &hv_Column1, &hv_Row2, &hv_Column2);
  //返回最小外接正矩形資料
  //引數1:輸入區域
  //引數2:左上角點的行座標-y座標
  //引數3:左上角點的列座標-x座標
  //引數4:右上角點的行座標-y座標
  
//引數5:右上角點的列座標-x座標 GenRectangle1(&ho_Rectangle, hv_Row1, hv_Column1, hv_Row2, hv_Column2); GetImageSize(ho_Image1, &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_Region, 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_Rectangle, HDevWindowStack::GetActive());