상황
일단 구상을 하기 시작했다.
영상을 서로 비교하는 방법이 뭐가 있을까 곰곰히 생각해봤다.
대략 2가지의 방법이 생각이 났는데.
음향 스펙트럼을 비교해서 비슷하면 같은 영상이라고 판단하는 것
영상의 프레임들을 쪼게서 그 이미지들을 서로 비교하는 것
이 2가지의 방법이 생각났지만.
음향 스펙트럼은 영상의 특성상 우연히 같은 음향을 뿜을 수 있기 때문에 일단 패스하고 프레임들을 쪼게기로 결정했다.
필요한 패키지들 찾아나서기
일단 파이썬에서 영상 프로세싱이 가능한 패키지를 찾아봤다.
음...역시... openCV를 쓰기로 했다.
How to install OpenCV for Python in Ubuntu 14.04
그냥 명령어 하나만 집어넣으면 된다.
$ sudo apt-get install libopencv-dev
와, 엄청 많이 설치하는 것을 볼 수 있습니다.
뭐 여차저차 설치가 된 것을 볼 수 있습니다.
여기서 에러가 나타나시는 분들은 제대로 설치가 안됬거나 numpy가 설치가 되지 않아서 일겁니다.
일단 OpenCV는 설치가 끝났습니다.
이제 2번째는 이미지 프로세싱이 가능해야되서 이미지 프로세싱이 가능한 패키지를 찾았습니다.
모두 파이썬 한 두번 해봤다면 들어봤을 듯한 패키지입니다.
PIL(Python Imaging Library)를 설치하기로 했습니다.
PIL 설치는 아래와 같은 명령어를 집어넣으면 가능합니다.
$ sudo apt-get install python-PIL
이렇게 일단 필요한 패키지 준비는 여기서 끝났습니다.
이미지는 어떻게 비교를 해야될까?
이에 대한 고민을 많이 했습니다.
openCV로 이미지 비교를 할까 했지만 일단 킾해놓기로 하고.
OpenCV for python ORB, SIFT - http://m.blog.naver.com/samsjang/220657424078
이미지를 흑백으로 만들고 거기서 픽셀들을 비교하는 것으로 했다.
뭐 이런것도 있더라...
http://www.phash.org/
그래서 현재 상황은?
뭐 그럭저럭 틀이 잡혀가고 있다.
이제 문제는 서로 프레임이 다르기때문에 어떻게 비교를 해야 효율적일까 생각을 해봐야겠다.