목차
파이썬 OpenCV cvtColor 사용 방법
파이썬 openCV에서 제공하는 함수 중에 cvtColor 함수가 있습니다. 함수 가운데 C는 대문자로 작성하셔야 합니다. 그렇지 않으면 아래와 같은 에러 메세지가 발생 합니다.
에러 메세지>>
Traceback (most recent call last):
File "d:\Python\test02\test06.py", line 5, in <module>
modified_img = cv2.cvtcolor(img, cv2.COLOR_BGR2GRAY )
AttributeError: module 'cv2' has no attribute 'cvtcolor'
파이썬의 openCV의 imread 읽은 이미지(image)파일은 BGR(Blue, Green, Red) 형태로 읽습니다. 이를 공간(space)이라고 하는데 openCV 내에는 150개의 공간이 있습니다. 그 중에 가장 대표되는 공간 색은 아래와 같습니다.
- Gray
- HSV (Hue, Saturation, Value)
- RGB (Red, Green, Blue)
- LAB (Lightness, Green to Maenta, Blue to Yellow)
색상 공간 변화는 cvtColor 함수의 옵션(option) 값에서 변경 가능 합니다.
cvtColor 함수의 Syntax는 아래와 같습니다.
cv2.cvtColor(소스값, 옵션값, dst, dstCn)
소스값은 imread로 읽은 값을 넣으면 되고 옵션값은 색을 변환하기 위해 사용됩니다. 옵션의 항목은 아래와 같습니다.
- cv2.COLOR_BGR2GRAY
- cv2.COLOR_BGR2HSV
- cv2.COLOR_BGR2RGB
- cv2.COLOR_BGR2LAB
dst는 출력 이미지의 사이즈(Size)와 깊이(Depth)를 원본 이미지에 맞추는 것이라는데 사용법은 잘 모르고 실제 사용한 코드를 본적이 없습니다.
dstCn은 출력 이미지의 채널 수입니다.
다음 장에서는 실습을 진행하겠습니다. 실습에 사용할 예제 jpg 이미지 파일은 아래와 같습니다.
파이썬 OpenCV cvtColor 예제 실습: COLOR_BGR2GRAY
예제 코드>>
import cv2
from cv2 import imshow
img = cv2.imread("car-cvt.jpg")
modified_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY )
imshow("CVT_Example", modified_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
5번 라인: COLOR_BGR2GRAY 옵션 값으로 색을 회색으로 반전합니다.
결과>>
파이썬 OpenCV cvtColor 예제 실습: COLOR_BGR2HSV
예제 코드>>
import cv2
from cv2 import imshow
img = cv2.imread("car-cvt.jpg")
modified_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV )
imshow("CVT_Example", modified_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
5번 라인: COLOR_BGR2HSV를 사용해서 지배적인 파장의 색상을 강조하는 형태로 변형됩니다.
결과>>
파이썬 OpenCV cvtColor 예제 실습: COLOR_BGR2RGB
예제 코드>>
import cv2
from cv2 import imshow
img = cv2.imread("car-cvt.jpg")
modified_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB )
imshow("CVT_Example", modified_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
5번 라인: COLOR_BGR2RGB를 사용해서 BGR(Blue, Green, Red) 구성을 RGB(Red, Green, Blue)로 반전합니다.
결과>>
파이썬 OpenCV cvtColor 예제 실습: COLOR_BGR2LAB
예제 코드>>
import cv2
from cv2 import imshow
img = cv2.imread("car-cvt.jpg")
modified_img = cv2.cvtColor(img, cv2.COLOR_BGR2LAB )
imshow("CVT_Example", modified_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
5번 라인: COLOR_BGR2LAB를 사용해서 밝기(Lightness)를 강조하고 녹색(Green)을 Magneta로 파랑색(Blue)을 노랑색(Yellow)으로 반전합니다.
결과>>
'파이썬(Python) > opencv' 카테고리의 다른 글
[Python]OpenCV 그림 영역 선택, 모자이크 처리하기(Image, Mosaic, Blur) (0) | 2022.03.28 |
---|---|
[Python]OpenCV 이미지 마우스 클릭 좌표(위치) 값 확인(selectROI 함수) (0) | 2022.03.25 |
[Python]OpenCV 이미지 픽셀로 변경하여 수정하기(Numpy array) (0) | 2022.03.22 |
[Python]OpenCV 동영상 저장하기, 코덱 종류와 사용방법(Video, fourcc, codec) (0) | 2022.03.18 |
[Python] OpenCV 동영상 파일 재생하기 (화면 사이즈 변경) (0) | 2022.03.17 |