• halcondyn_threshold局部阈值


     在HDevelop中

    dev_update_off()
    read_image (Image, 'D:/bb/tu/1.jpg')
    get_image_size (Image, Width, Height)
    dev_open_window(10,10,Width, Height,'black',WindowHandle)
    
    mean_image(Image,ImageMean, 9, 9)
    
    dyn_threshold (Image, ImageMean, RegionDynThresh, 2, 'dark')
    *局部阈值分割
    *参数1:输入图像
    *参数2:滤波后图像(参考图),可以通过mean_image, binomial_filter, gauss_filter等滤波方式处理
    *       滤波时注意掩码大小,它决定提取区域的大小
    *       提取的就是参数1和参数2对比后的区域
    *参数3:分割后区域
    *参数4:灰度差值,默认值5;邻域比较的区间范围,灰度值变化在offset范围内均是可以接受的
    *       参数Offset不要设置0,否则将会提取到很多小的噪点区域,一般介于5-40最佳,其值越大,提取的区域越小
    *       【参数1和参数2对应像素点的差,提取差值大于参数4的区域】
    *参数5:提取区域类型
    *       'light'     提取相对参考图更亮的区域
    *       'dark'      提取相对参考图更暗的区域
    *       'equal'     选取和参考图差不多的区域
    *       'not_equal'  不同区域
    
    dev_display(RegionDynThresh)

    在QtCreator中

      HObject  ho_Image, ho_ImageMean, ho_RegionDynThresh;
      HTuple  hv_Width, hv_Height, hv_WindowHandle;
      ReadImage(&ho_Image, "D:/bb/tu/1.jpg");
      GetImageSize(ho_Image, &hv_Width, &hv_Height);
      SetWindowAttr("background_color","black");
      OpenWindow(10,10,hv_Width,hv_Height,0,"visible","",&hv_WindowHandle);
      HDevWindowStack::Push(hv_WindowHandle);
    
      MeanImage(ho_Image, &ho_ImageMean, 9, 9);
    
      DynThreshold(ho_Image, ho_ImageMean, &ho_RegionDynThresh, 2, "dark");
      //局部阈值分割
      //参数1:输入图像
      //参数2:滤波后图像(参考图),可以通过mean_image, binomial_filter, gauss_filter等滤波方式处理
      //      滤波时注意掩码大小,它决定提取区域的大小
      //      提取的就是参数1和参数2对比后的区域
      //参数3:分割后区域
      //参数4:灰度差值,默认值5;邻域比较的区间范围,灰度值变化在offset范围内均是可以接受的
      //      参数Offset不要设置0,否则将会提取到很多小的噪点区域,一般介于5-40最佳,其值越大,提取的区域越小
      //      【参数1和参数2对应像素点的差,提取差值大于参数4的区域】
      //参数5:提取区域类型
      //      'light'     提取相对参考图更亮的区域
      //      'dark'      提取相对参考图更暗的区域
      //      'equal'     选取和参考图差不多的区域
      //      'not_equal'  不同区域
    
      if (HDevWindowStack::IsOpen())
        DispObj(ho_RegionDynThresh, HDevWindowStack::GetActive());

      

  • 相关阅读:
    实现AB值对换的两种方法
    Spring文件上传Demo
    CentOS 查看系统 CPU 个数、核心数、线程数
    InvocationTargetException异常
    在 Excel 中设置图片
    JavaScript写入文件到本地
    Semaphore初探
    MySQL连接服务端的几种方式
    超链接导致window.location.href失效的解决办法
    在 CentOS7 上安装 swftools
  • 原文地址:https://www.cnblogs.com/liming19680104/p/15960271.html
Copyright © 2020-2023  润新知