본문 바로가기
이미지 Processing!/2D Processing

[Python] # 2 Matplotlib/Pillow 이미지 불러오기 !

by 욱찡이 2021. 12. 26.
반응형

https://kimtaeuk0103.tistory.com/24

 

[Python] OpenCV 이미지 불러오기!

안녕하세요 Python image processing 에 관한 기초 글을 쓰려고합니다. 앞으로도 잘 부탁합니다. 더 찾고 계신게 있으시다면 카테고리를 참고해주세요 :) 우선 cv2에 대해 설명하겠습니다. cv2로 여는 방

kimtaeuk0103.tistory.com

안녕하세요

저번엔 Opencv로 여는법을 알았고 이번엔 Matplotlib과 Pillow 이미지를 불러오는 법에 대해 알아보겠습니다.

 

Matplotlib으로 이미지 여는 전체 코드입니다. 

 

import matplotlib.pyplot as plt
img_color = plt.imread('C:/test.jpg')
plt.imshow(img_gray)
plt.show()

plt.imshow()로 열었을때 이미지 입니다. 이미지가 회전이되어있어요

여기서 잠깐 !!

 

위에 링크에서 Open cv로 열때 이미지를 다시한번 보겠습니다.

Open cv로 열었을때 이미지입니다

뭔가 다르죠??

Open cv는 제대로 원본 그대로 x , y가 나왔는데, matplotlib은 시계역방향 90도로 꺾여있는모습입니다.

그러면 이런 모양이겠죠??

 

※ 근데 왜 cv2로 열면 되는데 plt로 여느냐?? 하고 의문을 가지실수 있습니다.

plt.imshow()를 하는 이유는  픽셀값들을 볼수 있어서 그렇습니다. 

위에 동그라미가 픽셀값입니다.

이미지 프로세싱을 하다보면 픽셀값들이 눈에 보이면 좋을때가 있는데, 그때 필요합니다 

 

다시 본론으로 돌아와서, plt로 save하려면 rotation까지 해서 저장을 해야합니다. 이건 다음에 올리겠습니다.


 

다음은 Pillow으로 이미지 여는 전체 코드입니다. 

from PIL import Image
import numpy as np

img_color = Image.open('C:/test.jpg')
img_gray = Image.open('C:/test.jpg').convert('L') #회색조로 변환 

img_color=np.array(img_color) # PIL로 열때는 np.array 까먹지 말기 
img_gray=np.array(img_gray)

plt.imshow(img_color)
plt.imshow(img_gray,'gray')
plt.show()

 

Open CV랑 Matplotlib이랑 Pillow로 이미지 열때를 알아보았습니다.

 

뭐가 좋다 나쁘다 할거없이 3개다 쓰일때가 있습니다. 

이미지 흑백으로 불러올때는 cv2나 pillow로 열어야 하고(matplotlib만으로는 안되더라구요)

이미지 픽셀값들을 볼때는 matplotlib으로 열어야 하고.. 다양합니다 ㅎㅎ 

셋다 알아두면 편할것입니다!

 

그리고 나중에 차근차근 글을 올릴때 필요한 링크달겠습니다.

 

감사합니다

반응형

댓글