skimage 라이브러리 활용

우수민·2021년 3월 17일
0

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 . 책 옆면 이미지 or 한줄로 구성되었을 경우
    (이미지 1처럼 책의 중간부분이 잘리게 되고 나중에 후처리 하기도 까다로워짐.)
    2. 얇은 책 혹은 같은 책 시리즈의 경우엔 두권이 하나로 인식된다. -> 같은 시리즈일경우는 큰 문제가 존재하지 않지만 서로 다른 책일 경우 추후에 검색에서 막히게 된다.

이미지 1 factorio thumbnail

이미지 2 factorio thumbnail

이미지 3 factorio thumbnail

참고 링크 : https://jessicastringham.net/2018/12/01/books/

profile
데이터 분석하고 있습니다

0개의 댓글