zoukankan      html  css  js  c++  java
  • 机器学习进阶-阈值与平滑-图像阈值 1. cv2.threshold(进行阈值计算) 2. 参数type cv2.THRESH_BINARY(表示进行二值化阈值计算)

    1. ret, dst = cv2.thresh(src, thresh, maxval, type)

    参数说明, src表示输入的图片, thresh表示阈值, maxval表示最大值, type表示阈值的类型

    2. type的类型

        1.cv2.THRESH_BINARY   表示阈值的二值化操作,大于阈值使用maxval表示,小于阈值使用0表示

        2. cv2.THRESH_BINARY_INV  表示阈值的二值化翻转操作,大于阈值的使用0表示,小于阈值的使用最大值表示

        3. cv2.THRESH_TRUNC    表示进行截断操作,大于阈值的使用阈值表示,小于阈值的不变

        4. cv2.THRESH_TOZERO   表示进行化零操作,大于阈值的不变,小于阈值的使用0表示

        5. cv2.THRESH_TOZERO_INV  表示进行化零操作的翻转,大于阈值的使用0表示,小于阈值的不变

    代码:

    import cv2
    import matplotlib.pyplot as plt
    
    img = cv2.imread('cat.jpg')
    
    # 1.进行阈值二值化操作,大于阈值127的,使用255表示, 小于阈值127的,使用0表示
    ret, thresh1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

    # 2. 进行阈值二值化翻转操作, 大于阈值127的,使用0表示,小于阈值127的,使用255表示
    ret, thresh2 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV)

    # 3. 进行截断阈值表示,大于阈值127的使用127表示,小于阈值127的不变
    ret, thresh3 = cv2.threshold(img, 127, 255, cv2.THRESH_TRUNC)

    # 4. 对阈值进行0值化表示,大于127的不变,小于127阈值的,用0表示
    ret, thresh4 = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO)

    # 5. 对阈值进行0值化反向操作, 大于127的用0表示,小于127的不变
    ret, thresh5 = cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO_INV)

    images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
    titles = ['ORIGINAL', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
    
    for i in range(6):
        plt.subplot(2, 3, i+1)
        plt.imshow(images[i])
        plt.title(titles[i])
    plt.show()


     

  • 相关阅读:
    C#对ListView控件的几个操作技巧
    C#用代码创建控件,以及它的鼠标事件
    C#使用ListView控件对数据进行频繁更新时,出现闪烁问题的解决办法
    C#判断某个键值是否存在于字典中
    FreeMASTER 2.0的安装与使用
    C和C++中获取二维数组的行列数
    Python中类的定义和使用
    Python创建字典和添加键值
    C#用鼠标滚轮控制控件大小,实现滚轮缩放效果
    C#中对Excel文件执行写数据操作
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/10391615.html
Copyright © 2011-2022 走看看