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()
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()