python opencvカラー画像抽出3チャネル
4783 ワード
03-python opencvカラー画像抽出3チャネル 03-python opencvカラー画像抽出3チャネル 概要 実装プロセス 参照オープンピクチャ システム関数分離3チャネル 自己分離三チャネル関数 は、関数分離チャネルを呼び出し、 を表示する.キーボード入力を待機し、すべてのウィンドウ を閉じる.
ソースコード 運転結果 参照
概要
本節では,カラー画像を抽出する3つのチャネルを実現する.カラー画像 を開くシステム関数を用いて3チャネル を分離する自己分離三通路 表示表示表示3チャネルピクチャ インプリメンテーションプロセス
画像を参照して開く
コードは以下の通りです.
システム関数分離3チャネル
Opencvには3つのチャネルを分離する関数split()が付属しており、戻り値は青、緑、赤のチャネルの階調図の順で、コードは以下の通りです.
じこぶんりさんチャネルかんすう
3つのチャネルのサブマトリクスを取得するために3つの関数を定義した.
赤いチャネルを取得するには:
緑のチャネルを取得するには:
青いチャネルを取得するには
関数を呼び出してチャネルを分離して表示
上記の3つの関数を呼び出し、分離結果を表示し、前と比較します.
キーボード入力待ちですべてのウィンドウを閉じる
ここでcv 2.waitKeyのパラメータ0は、任意のキーの入力を待つことを示し、ユーザーが任意のキーを入力するとdestroyAllWindows()を呼び出してすべての画像ウィンドウを閉じます.
ソースコード
プログラム全体のソースコードは次のとおりです.
私のGitHubのを参考にして、ここをクリックすることもできます.
実行結果
コマンドラインがソースプログラムが存在するディレクトリに入った後、
リファレンス 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
概要
本節では,カラー画像を抽出する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
を実行すると結果が表示されます.結果は次のとおりです.リファレンス