[KG_KAIROS] 파이썬 강의_4 (PIL, Matplotlib)
오늘은 파이썬 응용과정으로 넘어 왔습니다.
강사님께 numpy를 왜 하는가? 에 대해서 들으니 numpy와 조금(?) 친해진 기분입니다.
>>넘파이를 쓰는이유
그냥 리스트는 a = [1,2,3] 이를 불러오려면 총 6번이 걸린다.
왜? 주소까지 불러와야 하기 때문!!
넘파이는 a=np.array([1,2,3])은 3번이면 됨. 그자리에 주소값을 저장했기 때문!!!
엔비디아를 예시로 들면 모든 것이 2배로 단축된다고 할 수 있겠죠?
개발하는데 필요한 전기료도 두배, 시간도 두배 단축이기 때문에 더 저렴하고 안정적이라고 할 수 있습니다.
넘파이 안썻으면 개발비용 1조짜리 2조 될뻔한거죠.
뭐 그렇 답니다. ㅎㅎ
자!! 그러면 진짜 진짜 본문!
>> Pillow
PIL은 Python Imaging Library 로 이미지 처리를 위한 대표적인 라이브러리 라고 합니다.
파일 로드, 편집, 필터 적용하는 등 다양한 이미지 처리 작업 수행을 제공합니다.
>>matplotlib 실습 시작.
그 다음 sin 파와 cos파 그래프를 작성해 보았습니다.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0.0, 5.0, 100)
print(x)
y1 = np.sin(2*np.pi*x)
y2 = np.cos(2*np.pi*x)
print(y1)
plt.figure()
plt.subplot(1,2,1)
plt.plot(x, y1,label="Sine")
plt.title('Sine Wave')
plt.xlabel('x')
plt.ylabel('y')
plt.legend(loc='lower left')
plt.subplot(122)
plt.plot(x, y1,label="Cosine")
plt.title('Cosine Wave')
plt.tight_layout()
plt.show()
오전 실습 마지막 코드는 try - except 를 이용한 예외처리 방법입니다.
습관을 들이면서 코드 에러를 잡아내는 능력을 길러야겠네요,
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
img_path = "C:\\mypro\\basic\\cat.jpg"
try:
img = Image.open(img_path)
img.show()
img_arr = np.array(img)
print(img_arr.shape)
plt.imshow(img)
img_lum=img_arr[0:50,0:50,0]
plt.imshow(img_lum)
plt.colorbar()
plt.imshow()
except FileExistsError:
print("No such file")
드디어 이제 하는게 !!!
>>OPEN CV
import cv2
#cv2.imread()
img = cv2.imread('C:\\mypro\\basic\\uga\\cat.jpg', cv2.IMREAD_COLOR)
cv2.imshow('uga',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
하루종일 우리 고먐미 고통받지만 쫌만 버티자....
밑에는 grayscale 추가!!
#cv2.imread()
img = cv2.imread('C:\\mypro\\basic\\uga\\cat.jpg', cv2.IMREAD_COLOR)
img_gray = cv2.imread('C:\\mypro\\basic\\uga\\cat.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('uga',img)
cv2.imshow('uga',img_gray)
print(img.shape)
cv2.waitKey(0)
cv2.destroyAllWindows()
아 혹시나 open CV없으시면
터미널에 pip install opencv-python 치시면됩니다.
pip인스톨로 모든걸 다운받으셔요.
우선 오늘도 고생한 나자신 화이팅!!