© 2017 by Doran Bae 

Subscribe!
You are reading Coding Otter, stuffed with articles about big data, data science development, ML in production, managing data science projects, and many more. ​
About the host
I'm Doran Bae, Data Scientist @TVB turning data into products and stories. More about me.

인문계를 위한 image processing

이미지 프로세싱에 있어 아주 기초 중에 기초를 배워보겠습니다. 우선 필요한 environment를 구성하여야 합니다. 본인이 사용하고 있는 virtualenv에 opencv를 다운받아 설치해 주세요.

source activate YOUR_VIRT_ENV_NAME
conda install -c menpo opencv3

여기까지 오셨다면 80% 성공입니다. 이제 python shell에서 제대로 import가 되는지 확인하겠습니다.

source activate YOUR_VIRT_ENV_NAME
python3
>> import cv2
>> cv2.__version__
'3.1.0'

네, 이제 아주 심플한 작업 하나를 해 보겠습니다. 이 예시는 나중에 이 프로젝트에서 연구하는 주요 topic으로 사용될 것입니다. 이 작업의 요지는 사진을 보고, 직선을 구하는 것입니다.

import cv2
import numpy as np

file_path = 'file_path'
img = cv2.imread(file_path)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
minLineLength = 100
maxLineGap = 10
lines = cv2.HoughLinesP(edges, 1, np.pi/180, 100, minLineLength, maxLineGap)

for l in range(line.shape[0]):
    for x1, y1, x2, y2 in lines[l]:
        cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 2)

cv2.imwrite('houghlines5.jpg', img)

결과물을 감상해 보시죠!