📌 이 글은 권철민님의 딥러닝 컴퓨터 비전 완벽 가이드 강의를 바탕으로 정리한 내용입니다.
목차
- OpenCV
- OpenCV 이미지 로딩
- BGR을 RGB로 변환하기
- OpenCV 이미지 배열을 파일에 쓰기
- OpenCV로 이미지 로드하기
- 반환된 BGR image Numpy array 시각화 하기
- BGR에서 RGB로 변환하기
OpenCV
- 오픈소스 기반의 최고 인기 컴퓨터 비전 라이브러리
- 컴퓨터 비전 기능 일반화에 크게 기여 (어려운 기능도 API 몇 줄로 간단하게 구현)
- C++ 기반이나 Python도 지원 (JAVA, C# 등 다양한 언어 지원)
OpenCV 이미지 로딩
imread('파일명')를 이용한 이미지 로딩
- 파일을 읽어 Numpy array로 변환
주의해야할 점 : 색감이 원본 이미지와 다르게 나타남
- 이미지를 RGB 형태가 아닌 BGR 형태로 로딩
- RGB: RED 계열
- BGR: BLUE 계열
BGR을 RGB로 변환하기
cvtColor()를 이용하여 BGR을 RGB로 변환
- cvtColor(이미지 배열, cv2.COLOR_BGR2RGB)
import cv2
import matplotlib.pyplot as plt
bgr_img_array=cv2.imread('파일명')
rgb_img_array=cv2.cvtColor(bgr_img_array, cv2.COLOR_BGR2RGB)
plt.imshow(rgb_img_array)
OpenCV 이미지 배열을 파일에 쓰기
imwrite()를 이용하여 파일에 쓰기 : imwrite('출력파일명', 이미지 배열)
- 메모리에 있는 이미지 배열을 다시 파일에 저장
imread()로 읽고 imwrite()로 출력한 이미지 파일은 다시 RGB 형태가 됨
- imread()로 인해 BGR 형태로 되어 있는 이미지 배열을 다시 RGB 형태로 변환하여 저장
import cv2
import matplotlib.pyplot as plt
img_array=cv2.imread('파일명')
cv2.imwrite('출력파일명', img_array)
OpenCV로 이미지 로드하기
- imread()
- 원본 RGB 이미지를 BGR 형태의 Numpy 배열로 반환
- imwrite()
- BGR 형태의 이미지 배열을 파일에 기록할 때 다시 RGB형태로 변환
- RGB->BGR->RGB 변환에 신경쓰지 않아도 됨
import cv2
cv2_image = cv2.imread('/content/data/beatles01.jpg')
cv2.imwrite('/content/data/beatles02_cv.jpg', cv2_image)
print('cv_image type:', type(cv2_image), ' cv_image shape:', cv2_image.shape)
plt.figure(figsize=(10, 10))
img = plt.imread('/content/data/beatles02_cv.jpg')
plt.imshow(img)
#plt.show()
반환된 BGR image Numpy array 시각화 하기
cv2_image = cv2.imread('/content/data/beatles01.jpg')
plt.figure(figsize=(10, 10))
plt.imshow(cv2_image)
plt.show()
BGR에서 RGB로 변환하기
cv2_image = cv2.imread('/content/data/beatles01.jpg')
draw_image = cv2.cvtColor(cv2_image, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(10, 10))
plt.imshow(draw_image)
plt.show()
'🖼 Computer Vision > Object Detection' 카테고리의 다른 글
CV - RCNN (Region with CNN features) (0) | 2022.04.28 |
---|---|
CV - Object Detection Architecture (0) | 2022.04.28 |
CV - Object Detection 주요 데이터셋 (0) | 2022.04.23 |
CV - OD 성능 평가 Metric - mAP (0) | 2022.04.23 |
CV - NMS(Non Max Suppression) (0) | 2022.04.23 |