* with Image
Load all images in a folder (pycham)
우선 PIL(python image library)를 설치한뒤
아래와 같이 작성.
현재 필자의 경우 아래 path_cam_a 경로에 bmp 파일들이 있으며, 해당 파일들을 모두 불러오는 경우다.
from PIL import Image
import os
training_image_cam_a = []
path_cam_a = "VIPeR\Training_data\cam_a"
for f in os.listdir(path_cam_a):
training_image_cam_a.append(Image.open(os.path.join(path_cam_a,f)))
불러온 영상을 pixel 단위로 접근하기 위해서는
px = training_image_cam_a[0].load()
로 불러와주면 px를 통해서 pixel 단위로 잡근 가능하다 (참고 : https://pillow.readthedocs.io/en/4.0.x/reference/PixelAccess.html)
결과를 보면, 아래와 같이 불러온 image의 0번째 영상에 대해서 (x,y) = (10,10)에 대한 rgb 값이 아래와 같이 출력된다.
px = training_image_cam_a[0].load()
print(px[10,10])
(103, 110, 67)
Display image
1. 우선 표출을 위해서 matlabplot을 이용한다.
import matplotlib.pyplot as plt
2. 표출 한다.
imgplot = plt.imshow(bbb[:, :, 0])
주의!!! imshow의 경우 범위가 [0 1] 이므로 해당 array의 값을 이 범위로 맞춰 줘야 한다.
간단한 stretching 방법으로는 아래 식을 이용
imgplot = (v - min(v)) / (max(v) - min(v))