Computer Vision 분야에는 많은 Task들이 있는데, Classification, Detection, Identification, Semantic Segmentation, Object Categorization, Scene Categorization, Event Recognition 등이 있다. 이들의 백본은 모두 Classification으로부터 온 것이므로 Classification이 아주 중요한 문제라고 할 수 있다. Object Recognition/Image Classification Object Recognition은 찾고자 하는 사물을 이미지에서 찾아내는 문제이다. Object Recognition에서 사용할 수 있는 가장 단순한 방법은 슬라이딩 윈도우 방식으로 이미지 안을 돌면서..
Edge 이미지에서 변화가 큰 곳은 Edge라고 할 수 있다. 즉, 이미지의 intensity가 심하게 바뀌는 곳으로 볼 수 있다. 고로 Edge는 미분(gradient)을 통해 계산할 수 있다. 미분값이 크면 변화가 심한 곳이므로 엣지가 강하고, 작으면 엣지가 없는 것이다. 하지만 이미지는 2차원이라서 gradient를 한번에 구할 수 없고, 편미분을 통해 얻은 2개의 1D gradient를 합한 2D gradient의 크기를 구하는 방식으로 구할 수 있다. Finite difference 이미지는 이산적인 값들로 이루어져 있으므로 미분값을 구할 수 없다. 고로 Finite difference를 사용해 근사적인 미분값을 구해야 한다. 유한 차분이라고 불리는 Finite difference는 미분값을 구..
from PIL import Image import numpy as np from matplotlib import pyplot as plt im = Image.open('building.jpg') im = np.asarray(im) print(im.shape) # (400,600,3) plt.imshow(im) 먼저 PIL의 Image를 통해 이미지를 불러온 후 ndarray로 변환해서 plt로 이미지를 출력하면 아래와 같은 사진이 나온다. 이때 이미지의 RGB값은 0부터 255 사이의 값이므로 ndarray로 변환될 때 자동적으로 dtype이 uint8 (usigned int8)로 지정된다. Point Processing Point Processing은 Point Operation을 사용해 이미지를 처..