zl程序教程

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

当前栏目

halcon-median_image中值滤波

Image 滤波 HALCON Median 中值
2023-09-27 14:28:41 时间

在HDevelop中

2.png

 

read_image (Image, 'D:/bb/tu/2.png')
*median_image(Image : ImageMedian : MaskType, Radius, Margin : )
*功能:中值滤波。
*median_image使用一个正方形或圆形的掩码对输入的图像进行中值滤波,滤波结果返回到ImageMedian中。
*            可以使用MaskType选择掩码的形状。 可以使用“Radius”选择掩码的半径
*一般的,中值滤波器会按升序对掩码中的所有灰度值进行排序,然后选择灰度值的中值
*中值滤波可以用于例如平滑图像,抑制小于掩码的不需要的对象

median_image (Image, ImageMedian, 'circle', 2, 'mirrored')
*参数3:掩码的形状     'circle'   圆;    'square'   正方形
*参数4:掩码半径
*参数5:边界处理。建议值: 'mirrored', 'cyclic', 'continued', 0, 30, 60, 90, 120, 150, 180, 210, 240, 255



dev_open_window(0,0,254,252,'black',WindowHandle)
dev_display(ImageMedian)

 

 

在Qt Creator中

    HObject  ho_Image, ho_ImageMedian;
    HTuple  hv_WindowHandle;
    ReadImage(&ho_Image, "D:/bb/tu/2.png");
      //median_image(Image : ImageMedian : MaskType, Radius, Margin : )
      //功能:中值滤波。
      //median_image使用一个正方形或圆形的掩码对输入的图像进行中值滤波,滤波结果返回到ImageMedian中。
      //           可以使用MaskType选择掩码的形状。 可以使用“Radius”选择掩码的半径
      //一般的,中值滤波器会按升序对掩码中的所有灰度值进行排序,然后选择灰度值的中值
      //中值滤波可以用于例如平滑图像,抑制小于掩码的不需要的对象

    MedianImage(ho_Image, &ho_ImageMedian, "circle", 2, "mirrored");
      //参数3:掩码的形状     'circle'   圆;    'square'   正方形
      //参数4:掩码半径
      //参数5:边界处理。建议值: 'mirrored', 'cyclic', 'continued', 0, 30, 60, 90, 120, 150, 180, 210, 240, 255



    SetWindowAttr("background_color","black");
    OpenWindow(0,0,254,252,0,"visible","",&hv_WindowHandle);
    HDevWindowStack::Push(hv_WindowHandle);
    if (HDevWindowStack::IsOpen())
      DispObj(ho_ImageMedian, HDevWindowStack::GetActive());