티스토리 뷰
[Processing with OpenCV] Processing에 적용 가능한 OpenCV Processing library
생각많은 소심남 2012. 7. 31. 01:12계속 내용을 다루다보니까 다른 프로그램과 연동시킬 수 있는 프로그램들이 많이 존재하는 것 같습니다. 그중에서도 인터렉티브 디자인을 하는데 많이 쓰이는 프로세싱과 비전 관련 라이브러리인 OpenCV를 같이 묶어서 쓸 수 있는 프로젝트가 있어서 소개해드리려고 합니다.
여러분도 아시겠지만 프로세싱은 자바기반의 컴파일러이고, OpenCV는 C++ 기반의 컴퓨터 비전 라이브러리입니다. 서로를 연동시키는 과정을 다른 포스트에서도 언급했었습니다만 Wrapper라고 하지요. 지금 소개해드리는 것도 일종의 랩퍼입니다. 이런 역할을 수행하는 것이 여러개 있지만 가장 대표적으로 쓰이는 것이 지금 소개해드리는 OpenCV library와 JavaCV 입니다. OpenCV는 매우 간단합니다만 기반이 OpenCV 1.0 이기 때문에 최신판에서 제공하는 알고리즘 함수를 사용할 수 없습니다. 반대로 JavaCV는 현재 OpenCV 2.3.1까지 대응되도록 만들어져 있습니다. 그렇기 때문에 최신 경향을 반영할 수 있다는 것이 특징입니다. 우선 이번 포스트에선 간단한 OpenCV library부터 살펴보도록 하겠습니다. 다음링크에서 해당 프로젝트를 받을 수 있습니다.
http://ubaa.net/shared/processing/opencv/
뭐 별다른 이름이 있는 게 압니다. 그냥 프로세싱과 자바로 쓸 수 있다는 OpenCV인 거죠. 거기에다가 제공하는 함수도 적습니다. 하지만 그것만으로도 할 수 있는게 많지요.
아무튼 앞에서 언급한대로 OpenCV 1.0을 기반으로 하기 때문에 해당 파일을 다운로드 받아서 설치합니다.
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/1.0/
유의할 사항은 딱 두가지입니다. 설치과정 중간에 환경변수를 설정하라는 말이 나옵니다. 그냥 예로 지나쳐주는 것이 첫번째이고 두번째는 이보다 상위버전이 설치되어 있다고 하더라도 반드시 1.0을 설치하셔야 된다는 겁니다.
다 설치하셨다면 화면 중간에 있는 OpenCV Processing Library를 받아서 기존에 설치된 문서의 Processing 폴더안에 있는 libraries에 삽입해줍니다.
전 기존의 과정을 직접 해왔기 때문에 위와 같이 3가지 라이브러리가 삽입되어있습니다. 설치가 완료되었는지를 확인하려면 프로세싱을 열고 import libraries를 확인하면 되겠지요.
자 정상적으로 설치가 완료되었으니 예제를 하나 실행해봅시다. 예제 파일은 홈페이지 하단 부에서도 다운로드 받을 수 있고 제가 따로 링크도 걸겠습니다. 바로 받아서 아까 폴더에 Examples 라는 이름으로 폴더로 집어넣어주시면 됩니다. 정상적으로 했으면 Examples 섹션에 다음과 같이 OpenCV 파트가 생성됩니다.
그런데 아쉽게도 바로 이용은 못합니다. 보통 비전을 이용하려면 기존의 이미지같은 소스가 있어야 하는데 해당 프로젝트에는 그런게 없거든요. 그래서 바로 위에 나와있는 실제 예제를 적용시켜 보겠습니다.
위 예제는 이미지를 하나 호출하고 정해진 위치에 ROI를 지정한 후에 blur 처리를 한 겁니다. 결과를 한번 보실까요?
(당연한 말이겠지만 프로세싱에서 이미지를 호출하려면 해당 프로젝트 폴더안에 이미지가 들어있어야 합니다. 따라서 한번 저장한 후에 처리하고 싶은 이미지를 그 프로젝트 폴더안에 삽입해줘야 됩니다.)
보이시나요? 위와 같이 ROI에 blur 효과가 나타난 것을 확인할 수 있습니다.
이처럼 프로세싱에서도 OpenCV를 적용해서 더욱더 풍성한 프로젝트를 구성할 수 있게 되었습니다.
-----------------------------------------------------------------------------------------------------------------
혹시 에러가 나시는 분 계신가요?
간혹 can`t find dependence libraries 라는 오류가 발생하는 경우가 있습니다. 이 경우는 환경변수가 지정되어 있지 않기 때문입니다. 내컴퓨터 - 속성 - 고급 시스템 설정으로 들어가시면 환경변수를 수정하는 란이 있습니다. 거기서 우리가 건드릴 값은 바로 path라는 겁니다. 그 path에 앞에서 설치했던 OpenCV 1.0이 연결되어 있어야 하는데 그게 없는 것이지요. 다음과 같이 수정해줍니다.
당연히 32비트 사용자라면 저 파일 경로가 조금 다르겠지요. 아무튼 이렇게 수정하고 재부팅하면 앞에서 발생했던 라이브러리 호출 오류는 없어지게 됩니다. 이상입니다.
'Processing' 카테고리의 다른 글
[Arduino with processing] PWM-Controlled LED (1) | 2012.08.13 |
---|---|
[Arduino with Processing] Serial Communication (12) | 2012.08.13 |
[Kinect with processing] Blob detection Library in Processing (0) | 2012.08.06 |
[Kinect with Processing] Kinect Space 생성 + Color DepthMap (3) | 2012.07.28 |
[Processing] 프로세싱에 카메라 기준 생성, KinectOrbit (2) | 2012.07.21 |
[Processing] Processing in 3D (2) | 2012.07.21 |
[Processing] ClosestPoint 추출 (0) | 2012.07.16 |
- Total
- Today
- Yesterday
- windows 8
- Distribution
- Off-policy
- DepthStream
- reward
- End-To-End
- Variance
- Pipeline
- Windows Phone 7
- PowerPoint
- bias
- 한빛미디어
- dynamic programming
- Offline RL
- Gan
- SketchFlow
- Kinect for windows
- Kinect SDK
- Kinect
- 파이썬
- ai
- TensorFlow Lite
- Expression Blend 4
- Policy Gradient
- 강화학습
- RL
- processing
- arduino
- ColorStream
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |