Color Space
7847 ワード
Ⅰ. 色空間の変更
dst = cv.cvtColor(src, code)
色変換コード
import cv2
color_img = cv2.imread("src/ex_codes/opencv.png", cv2.IMREAD_COLOR)
grayscale_img = cv2.cvtColor(color_img, cv2.COLOR_BGR2GRAY)
cv2.imshow("color", color_img)
cv2.imshow("grayscale", grayscale_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Ⅱ. チャネルの切断/マージ
mv = cv.split(m)
:チャネル切断dst = cv.merge(mv)
:統合チャネルimport cv2
src = cv2.imread("src/ex_codes/opencv.png", cv2.IMREAD_COLOR)
b, g, r = cv2.split(src)
inversebgr = cv2.merge((r, g, b))
cv2.imshow("b", b)
cv2.imshow("g", g)
cv2.imshow("r", r)
cv2.imshow("inverse", inversebgr)
cv2.waitKey(0)
cv2.destroyAllWindows()
Ⅲ. masking
HSV色空間でよく使われます(特定の色や輝度の画素だけを抽出したい場合)
dst = cv.inRange(src, lowerb, upperb)
:チャンネル別マスクdst = cv.bitwise_and(src1, src2 , mask = mask)
:画素間ビット演算import cv2
import numpy as np
src = cv2.imread("src/ex_codes/person.jpeg", cv2.IMREAD_COLOR)
hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(hsv, np.array([0, 0, 200]), np.array([255, 255, 255]))
res = cv2.bitwise_and(src, src, mask = mask)
cv2.imshow('frame', src)
cv2.imshow('mask', mask)
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
Reference
この問題について(Color Space), 我々は、より多くの情報をここで見つけました https://velog.io/@legendre13/Color-Spaceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol