zl程序教程

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

当前栏目

halcon-paint_region绘制区域到图像内

图像 绘制 区域 HALCON region Paint
2023-09-27 14:28:41 时间

在HDevelop中

ma.jpg

 

dev_update_off()
read_image(Image,'D:/bb/tu/ma.jpg')
get_image_size (Image, Width, Height)
area_center (Image, Area, Row, Column)
gen_circle (Circle, Row, Column, 50)

paint_region (Circle, Image, ImageResult,[255,255,255], 'fill')
*函数作用:绘制region到image内
*参数1:绘入图像内的区域
*参数2:包含绘入区域的图像
*参数3:结果图像
*参数4:期望的区域灰度值--填充区域的颜色值
*参数5:所绘区域类型,如填充或边界    'fill', 'margin'


dev_open_window(0,100,Width, Height,'black',WindowHandle)
dev_display(ImageResult)

 

 

 

 

在QtCreator中

    HObject  ho_Image, ho_Circle, ho_ImageResult;
    HTuple  hv_Width, hv_Height, hv_Area, hv_Row;
    HTuple  hv_Column, hv_WindowHandle;
    ReadImage(&ho_Image, "D:/bb/tu/ma.jpg");
    GetImageSize(ho_Image, &hv_Width, &hv_Height);
    AreaCenter(ho_Image, &hv_Area, &hv_Row, &hv_Column);
    GenCircle(&ho_Circle, hv_Row, hv_Column, 50);

    PaintRegion(ho_Circle, ho_Image, &ho_ImageResult, ((HTuple(255).Append(255)).Append(255)),
        "fill");
    //函数作用:绘制region到image内
    //参数1:绘入图像内的区域
    //参数2:包含绘入区域的图像
    //参数3:结果图像
    //参数4:期望的区域灰度值--填充区域的颜色值
    //参数5:所绘区域类型,如填充或边界    'fill', 'margin'


    SetWindowAttr("background_color","black");
    OpenWindow(0,100,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle);
    HDevWindowStack::Push(hv_WindowHandle);
    if (HDevWindowStack::IsOpen())
      DispObj(ho_ImageResult, HDevWindowStack::GetActive());