아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다.
'부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다.
댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다.
감사합니다.
시각화/OpenCV 짤막 지식
저장된 이미지를 파이썬에서 OpenCV를 사용해서 불러오면 기존 이미지와 색이 바뀌게 된다.
import cv2
img_data = cv2.imread('fig1.jpg')
# 이미지를 화면에 출력
plt.imshow(img_data)
plt.grid(False)
plt.axis('off')
plt.show()
색이 바뀌어 보이는 이유는, 컬러 사진의 경우
OpenCV에서는 'BRG' 순으로 저장을 하는데
matplotlib 에서는 'RGB' 순으로 색을 저장하기 때문이다.
따라서 BRG를 RGB로 바꾸어 주면 저장된 색으로 이미지를 볼 수 있게 된다.
1. cvtColor 사용
아래처럼 RGB 변환 코드인 'cvtColor' 를 추가해주면 이미지 데이터를 제대로 된 색으로 볼 수 있다.
import cv2
img_data = cv2.imread('fig1.jpg')
# BRG to RGB 변환
RGB_img_data = cv2.cvtColor(img_data, cv2.COLOR_BGR2RGB)
# 이미지를 화면에 출력
plt.imshow(RGB_img_data)
plt.grid(False)
plt.axis('off')
plt.show()
2. Numpy 배열 조작
이미지의 numpy 배열을 직접 조작하여 색 변환도 가능하다.
import cv2
img_data = cv2.imread('fig1.jpg')
# 이미지의 numpy 배열 조작
img_np = img_data[...,::-1]
# 이미지를 화면에 출력
plt.imshow(img_np)
plt.grid(False)
plt.axis('off')
plt.show()
![](https://blog.kakaocdn.net/dn/nY1Wu/btrTgJc9OF6/lTzLebGuatcjh3754xa1RK/img.png)
번외편
앞에서 말씀드린 'cvtColor' 를 활용하면 이미지를 흑백사진으로 변환도 가능하다.
import cv
img_data = cv2.imread('fig1.jpg')
# Gray 타입으로 변환
RGB_img_data = cv2.cvtColor(img_data, cv2.COLOR_BGR2GRAY)
# 이미지 불러올 때, cmap='gray' 추가
plt.imshow(RGB_img_data, cmap='gray')
# 이미지를 화면에 출력
plt.grid(False)
plt.axis('off')
plt.show()
cvtColor에 cv2.COLOR_BRG2GRAY 를 입력하고,
imshow 부분에서 cmap='gray' 를 추가해주면 출력 결과가 흑백으로만 이루어진 이미지를 볼 수 있다.
![](https://blog.kakaocdn.net/dn/RYe0P/btrTgdeJIEL/mXXbJsaaop0ihIQchJdwV0/img.png)
...끝!
'ML & DL > OpenCV' 카테고리의 다른 글
[OpenCV] 1. 이미지와 비디오 입출력 (0) | 2023.02.13 |
---|---|
[OpenCV] 0. CV 프로젝트 진행을 위한 OpenCV (0) | 2023.02.13 |
[OpenCV] Error : OpenCV(4.6.0) :-1: error: (-5:Bad argument) in function 'add' (0) | 2022.12.27 |
[OpenCV] 이미지에 문자열 넣기 (0) | 2022.12.20 |
[OpenCV] Error : Can't parse 'center'. Sequence item with index 0 has a wrong type (0) | 2022.12.09 |
댓글