python opencvカラー画像抽出3チャネル

4783 ワード

03-python opencvカラー画像抽出3チャネル
  • 03-python opencvカラー画像抽出3チャネル
  • 概要
  • 実装プロセス
  • 参照オープンピクチャ
  • システム関数分離3チャネル
  • 自己分離三チャネル関数
  • は、関数分離チャネルを呼び出し、
  • を表示する.
  • キーボード入力を待機し、すべてのウィンドウ
  • を閉じる.
  • ソースコード
  • 運転結果
  • 参照

  • 概要
    本節では,カラー画像を抽出する3つのチャネルを実現する.
  • カラー画像
  • を開く
  • システム関数を用いて3チャネル
  • を分離する
  • 自己分離三通路
  • 表示表示表示3チャネルピクチャ
  • インプリメンテーションプロセス
    画像を参照して開く
    コードは以下の通りです.
    import cv2  
    import numpy
    
    img = cv2.imread("test.png")

    システム関数分離3チャネル
    Opencvには3つのチャネルを分離する関数split()が付属しており、戻り値は青、緑、赤のチャネルの階調図の順で、コードは以下の通りです.
    b, g, r = cv2.split(img)
    cv2.imshow("Blue 1", b)
    cv2.imshow("Green 1", g)
    cv2.imshow("Red 1", r)

    じこぶんりさんチャネルかんすう
    3つのチャネルのサブマトリクスを取得するために3つの関数を定義した.
    赤いチャネルを取得するには:
    def get_red(img):
        redImg = img[:,:,2]
        return redImg

    緑のチャネルを取得するには:
    def get_green(img):
        greenImg = img[:,:,1]
        return greenImg

    青いチャネルを取得するには
    def get_blue(img):
        blueImg = img[:,:,0]
        return blueImg

    関数を呼び出してチャネルを分離して表示
    上記の3つの関数を呼び出し、分離結果を表示し、前と比較します.
    b = get_blue(img)
    g = get_green(img)
    r = get_red(img)
    cv2.imshow("Blue 2", b)
    cv2.imshow("Green 2", g)
    cv2.imshow("Red 2", r)

    キーボード入力待ちですべてのウィンドウを閉じる
    ここでcv 2.waitKeyのパラメータ0は、任意のキーの入力を待つことを示し、ユーザーが任意のキーを入力するとdestroyAllWindows()を呼び出してすべての画像ウィンドウを閉じます.
    cv2.waitKey (0)  
    cv2.destroyAllWindows() 

    ソースコード
    プログラム全体のソースコードは次のとおりです.
    # created by Huang Lu
    # 2016/8/22 23:02
    # Depart. of EE, Tsinghua Univ.
    
    import cv2
    import numpy
    
    def get_red(img):
        redImg = img[:,:,2]
        return redImg
    
    def get_green(img):
        greenImg = img[:,:,1]
        return greenImg
    
    def get_blue(img):
        blueImg = img[:,:,0]
        return blueImg
    
    if __name__ == '__main__':
        img = cv2.imread("test.png")
        b, g, r = cv2.split(img)
        cv2.imshow("Blue 1", b)
        cv2.imshow("Green 1", g)
        cv2.imshow("Red 1", r)
        b = get_blue(img)
        g = get_green(img)
        r = get_red(img)
        cv2.imshow("Blue 2", b)
        cv2.imshow("Green 2", g)
        cv2.imshow("Red 2", r)
        cv2.waitKey(0)
        cv2.destroyAllWindows()

    私のGitHubのを参考にして、ここをクリックすることもできます.
    実行結果
    コマンドラインがソースプログラムが存在するディレクトリに入った後、python main.pyを実行すると結果が表示されます.結果は次のとおりです.
    リファレンス
  • http://blog.csdn.net/sunny2038/article/details/9080047
  • https://github.com/hlthu/Python/tree/master/Python_OpenCV
  • https://hlthu.github.io/opencv/2016/06/04/python-opencv-3.html