halcon-dyn_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());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)