scikit-image는 이미지 처리하기 위한 파이썬 라이브러리이다.
Documentation : https://scikit-image.org/
기본적으로 이미지를 처리 할 수 있는 다양한 기능들을 제공한다. skimage는 numpy배열로 구성되어 쉽게 사용이 가능하다. 기본적인 이미지처리에 사용되는 그리기, 색상 변경, 회전등을 지원하고 책장 분석에선 윤곽석을 활용을 하였다.
아래의 링크에서 설명에는 Canny를 통해 선을 검출하는데 굵은 책들은 결과가 좋게 보이지만 책이 얇거나 책에 선이 있는 경우에는 결과가 존재 않다는 것을 확인 할 수 있다.
파이썬 기본코드는 아래와 같다.
from skimage import feature
from skimage.feature import canny
import matplotlib.pyplot as plt
import cv2
img_ori = cv2.imread(####) # 데이터 경로 입력
img_down_sampling = cv2.pyrDown(img_ori) # 다운 샘플링
gray_scale = cv2.cvtColor(img_down_sampling, cv2.COLOR_BGR2GRAY)
edges1 = feature.canny(gray_scale, sigma=0.7) # sigma가 hyper parameter
plt.imshow(edges1)
plt.axis('off')
실제 데이터를 활용해보았을때, 여러가지 문제점이 존재한다.
(이미지1은 결과를 정리하지 않은 상태이며, 이미지 2,3은 정리를 해준 상태이다.)
이미지 1
이미지 2
이미지 3