1.色空間変換
150以上のOpenCVの色空間変換方法があります。しかし、我々は、BGR↔GrayとBGR↔HSV、BGRとcv2.COLOR_BGR2GRAY、使用して階調変換最も広く使用されている2つだけを勉強します
cv2.COLOR_BGR2HSVを使用してBGRとHSV変換を。HSV空間において、Hは、色相/彩度範囲[0179]を示し、Sは彩度範囲[0,255]を表し、Vは輝度範囲[0,255]を表します。しかし、異なるソフトウェアの異なる値
DST = cv.cvtColor(SRC、コード[、DST [、dstCn]])
パラメータ:
SRC:入力画像:符号なし8ビット、16ビットの符号なし(... CV_16UC)を、または単精度浮動小数点。
コード:変換モード
DST:出力画像の元の画像サイズの同じ深。省略することができます
dstCn:標準画像のチャンネル番号、デフォルトは、Srcと判定されたコードで表される、0です。
すべてのコードを印刷します:
インポートのCVとしてCV2 フラグ = [I 用 I における DIR(CV)もし i.startswith(' COLOR_ ' )] プリント(フラグ)
関数の説明:
この機能は、他の色空間への1つの色空間からの入力画像を変換します。
例えば
インポートPLTのようmatplotlib.pyplot インポートCV2 img_BGR = cv2.imread(' 2.JPG ') #BGRの plt.subplot(331)、plt.imshow(img_BGR)、plt.axis(' オフ')、plt.title(' BGR ' ) img_RGB = cv2.cvtColor(img_BGR、cv2.COLOR_BGR2RGB) plt.subplot( 332)、plt.imshow(img_RGB)、plt.axis(' オフ')、plt.title(' RGB 」) img_GRAY = CV2。 cvtColor(img_BGR、cv2.COLOR_BGR2GRAY) plt.subplot(333)、plt.imshow(img_GRAY)、plt.axis(' オフ')、plt.title(' GRAY ' ) img_HSV = cv2.cvtColor(img_BGR、cv2.COLOR_BGR2HSV) plt.subplot( 334)、plt.imshow( img_HSV)、plt.axis(' オフ')、plt.title(' HSV ' ) img_YcrCb = cv2.cvtColor(img_BGR、cv2.COLOR_BGR2YCrCb) plt.subplot( 335)、plt.imshow(img_YcrCb)、plt.axis(' オフ')、plt.title(' のYCrCb ' ) img_HLS =cv2.cvtColor(img_BGR、cv2.COLOR_BGR2HLS) plt.subplot( 336)、plt.imshow(img_HLS)、plt.axis(' オフ')、plt.title(' HLS ' ) img_XYZ = cv2.cvtColor(img_BGR、CV2 .COLOR_BGR2XYZ) plt.subplot( 337)、plt.imshow(img_XYZ)、plt.axis(' オフ')、plt.title(' XYZ ' ) img_LAB = cv2.cvtColor(img_BGR、cv2.COLOR_BGR2LAB) plt.subplot( 338)、plt.imshow(img_LAB)、plt.axis(' オフ')、plt.title(' LAB ' ) img_YUV = cv2.cvtColor(img_BGR、cv2.COLOR_BGR2YUV) plt.subplot( 339)、plt.imshow(img_YUV)、plt.axis(' OFF ')、plt.title(' YUV ' ) plt.show() CV2。関数imshow(' グレー' 、img_GRAY) K = cv2.waitKey(0) #は常に検出キーボード IF Kの== 27: #プレスESC出口 cv2.destroyAllWindows()