* 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))