• 【halcon】外观检测总结之灰度操作


    1 灰度操作之 滞后延时

    *滞后阈值
    hysteresis_threshold (ImageInvert, RegionHysteresis, 190, 220, 3)
    
    • 1
    • 2

    这句话的意思就是,逐个判断这个图片区域里像素的灰度值,如果这个值小于190就不考虑了pass掉,如果大于220就直接入选。值在190和220之间的像素备选。如果这个像素和大于220的像素的距离小于3,那么它将被选中。
    我之前讲过动态阈值,他和动态阈值有什么区域呢?
    动态阈值有个问题,那个mask区域不是很好确定,我在做瑕疵项目的时候。
    如果mask选的太大,可能把小的瑕疵平均了就被干掉了(而且太大,会很耗时),如果mask选小了,大的就会选不到。如果消磁在图像的边缘,我还没搞清楚,这个mask是怎么工作的。
    所以,我就寻找了到了这个hysteresis_threshold ,事实证明,这个还是好用的。

    “ 缺点1 ”:
    不过他和动态阈值相比有个缺点,动态阈值不在乎光线不均匀的问题,应为他是判断一个像素和他周围的像素的平均值比。
    但是,这个hysteresis_threshold 他的像素值的范围是写死的,如果图像的打光不均匀还是会顾此失彼。所以此时我们需要一个图像增强的滤波算法,进行一个大的增强,让大家的灰度水平达到一个很高的水平,再使用hysteresis_threshold 。比如 emphasize :

    emphasize (ImageReduced, ImageEmphasize, 7, 15, 6)
    *滞后阈值
    hysteresis_threshold (ImageEmphasize, RegionHysteresis, 190, 220, 3)
    
    • 1
    • 2
    • 3

    “ 缺点2 ”:
    按照他的规则,hysteresis_threshold 只能针对白色区域筛选,如果我想筛选的黑色怎么办? 其实也很简单,就是通过invert_image 将图片先进行反色,这样选择的白色,就是之前的黑色。

    emphasize (ImageReduced, ImageEmphasize, 7, 15, 6)
    invert_image (ImageEmphasize, ImageInvert)
    *滞后阈值
    hysteresis_threshold (ImageInvert, RegionHysteresis, 190, 220, 3)
    
    • 1
    • 2
    • 3
    • 4

    2 灰度操作之灰度选择select_gray

    有时一个瑕疵的灰度是很斑驳的,意思就是他的灰度值是混乱的,此时我们可以通过 'deviation’这个参数去获得灰度的混乱程度;
    gray_features (RusultBlack_3, Image, ‘deviation’, Value1)

    当然也可以进行筛选。
    select_gray (IntersectionRegions, Image, RusultBlack_1, ‘deviation’, ‘and’, 11.9, 1000)
    在这里插入图片描述
    这样可以过滤掉一些颜色很均匀的区域。

    这样的选择还有很多,如果通过平均值进行筛选:
    select_gray (IntersectionRegions, Image, RusultBlack_11, ‘mean’, ‘and’, 0, 113)

  • 相关阅读:
    3.21 小红书薯条改版了,都改了些什么呢?【玩赚小红书】
    Hugging Face 实战系列 总目录
    相机的常见参数分析
    【愚公系列】华为云系列之ModelArts+AppCube带你识别101种西式美食【我的低代码AI体验】
    UNet网络模型:数据集制作
    RK3399驱动开发 | 04 - WK2124串口芯片驱动浅析
    20、架构-容器间网络
    NVR添加rtsp流模拟GB28181视频通道
    TikTok短视频引流到直播间的技巧
    为什么电脑运行越来越慢?解决方法又是什么呢?
  • 原文地址:https://blog.csdn.net/songhuangong123/article/details/134428489