<button id="ssm6u"><optgroup id="ssm6u"></optgroup></button>
  • 跳轉至

    全局二值化

    概要

    本節課程講解了如何使用inRange函數,將彩圖轉換成二值化圖像.

    keywords inRange 二值化

    inRange函數API講解

    inRange 函數判斷圖像的像素點是否在閾值范圍內.

    如果在閾值范圍內該點的值就為邏輯1, 在灰度圖中用值255表示. 如果在范圍之外, 就為邏輯0, 用值0表示.

    注意返回的mask是二維的

    mask = cv2.inRange(src, lowerb, upperb)
    

    參數解釋

    • src : 源圖像

    • lowerb: 顏色閾值下界 lower boundary

    • upperb: 顏色閾值上界 upper boundary

    例程-獲取跳一跳棋子的二值化圖像

    tiaoyitiao

    顏色統計與分布曲線繪制中我們獲取了棋子顏色的統計圖.

    20180202_ches_rgb_bins2.png

    由此得出了上界與下界.

    注意閾值格式是BGR格式的 :(B,G,R)

    lowerb : (50, 36, 36)

    upperb : (104, 80, 80)

    binary_demo.py

    import cv2
    import numpy as np
    
    # 讀入圖片
    img = cv2.imread('screenshot.png')
    # 判斷圖片是否正確讀入
    if img is None:
        print("請檢查圖片路徑")
        exit()
    
    # 閾值下界
    lowerb = (50, 36, 36)
    # 閾值上界
    upperb = (104, 80, 80)
    
    # 圖像二值化
    mask = cv2.inRange(img, lowerb, upperb)
    
    cv2.namedWindow("mask", flags= cv2.WINDOW_NORMAL | cv2.WINDOW_FREERATIO)
    cv2.imshow('mask', mask)
    cv2.waitKey(0)
    

    Screenshot_20180204_145951.png

    mask其實是一個灰度圖 , 只有兩個值 0 跟255

    可以看到白色的地方就是邏輯1 值為255

    黑色的地方就是0.


    韩国精品无码一区二区三区,精品无码一区二区三区AV,欧洲丰满美熟女乱又伦AV,亚洲午夜久久久影院伊人