본문 바로가기
  • 紹睿: 자유롭고 더불어 사는 가치있는 삶
Project/데이터 가지고 놀기

picel-art :: openCV 기초 (1) - 이미지를 불러오자

by 징여 2018. 2. 8.
반응형

openCV 기초 (1) - 이미지 불러오기


이미지 불러오는 것은 간단하다.



이 사진을 이용할 껀데, 'pic/image1.jpeg'자리에 사진이 있는 경로이름을 적어주면 끝난당.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import cv2
import numpy as np
from matplotlib import pyplot as plt
 
img = cv2.imread('pic/image1.jpeg', cv2.IMREAD_COLOR)
gray = cv2.imread('pic/image1.jpeg', cv2.IMREAD_GRAYSCALE)
unchange = cv2.imread('pic/image1.jpeg', cv2.IMREAD_UNCHANGED)
 
images = [img, gray, unchange]
titles = ['BGR''GRAY''UNCHANGE']
for i in range(len(images)):
    plt.subplot(1len(images), i+1), plt.title(titles[i]), plt.imshow(images[i])
    plt.xticks([]), plt.yticks([])
plt.show()
cs


근데 하면 이런 결과가 나온다 ㅋㅋㅋ, 색이 이상하다.

openCV에서는 기본 RGB를 쓰는게 아니라, BGR를 쓰기 때문!!!!!!!!!!

이걸 바꿔주는 작업은 간단하다.



1. B, G, R를 따로 분리해서 R, G, B로 바꾸어준다

2. cv2.cvtColor 이용한다


1
2
3
4
5
6
7
8
9
10
11
12
b, g, r = cv2.split(img)
img2 = cv2.merge([r, g, b])
img3 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
 
titles=['split->merge''cv2.cvColor' ]
images=[img2, img3]
 
for i in range(2):
    plt.subplot(12, i+1), plt.title(titles[i]), plt.imshow(images[i])
    plt.xticks([]), plt.yticks([])
plt.show()
 
cs



간단 데스네, 재밌당



반응형

댓글