파이썬과 OpenCL을 함께 쓰는 방법을 안내 합니다.
this slides introduce how to use python with OpenCL.
unfortunately, I made this for korean readers only. however, if anyone wants to know this procedure in english, please contact me.
OpenCV를 활용하는 영상처리 어플리케이션 개발자들은 항상 GPU 자원을 활용하고 싶을 것이다. 하지만 이기종 컴퓨팅 환경에서 CPU 이외의 다른 하드웨어 자원을 활용하는 것은 개발 환경 및 백그라운드 지식 등의 많은 어려움이 따른다.
GPGPU 활용에 가장 상용화로 성공한 대중적인 솔루션으로는 nVidia 사의 CUDA 기술이 있지만, 그 외에도 GPGPU 자원을 쉽게 활용할 수 있는 오픈 플랫폼이 있는데 이것이 OpenCL 표준이다.
최근 하드웨어와 소프트웨어 진영에서 모두 OpenCL의 지원 및 발전이 두드러지며 점점 더 확산되는 추세이다.
OpenCV 진영에서도, 3.0이 정식 릴리즈 면서 본격적으로 OpenCL을 활용하기가 한층 쉬워졌다.
파이썬과 OpenCL을 함께 쓰는 방법을 안내 합니다.
this slides introduce how to use python with OpenCL.
unfortunately, I made this for korean readers only. however, if anyone wants to know this procedure in english, please contact me.
OpenCV를 활용하는 영상처리 어플리케이션 개발자들은 항상 GPU 자원을 활용하고 싶을 것이다. 하지만 이기종 컴퓨팅 환경에서 CPU 이외의 다른 하드웨어 자원을 활용하는 것은 개발 환경 및 백그라운드 지식 등의 많은 어려움이 따른다.
GPGPU 활용에 가장 상용화로 성공한 대중적인 솔루션으로는 nVidia 사의 CUDA 기술이 있지만, 그 외에도 GPGPU 자원을 쉽게 활용할 수 있는 오픈 플랫폼이 있는데 이것이 OpenCL 표준이다.
최근 하드웨어와 소프트웨어 진영에서 모두 OpenCL의 지원 및 발전이 두드러지며 점점 더 확산되는 추세이다.
OpenCV 진영에서도, 3.0이 정식 릴리즈 면서 본격적으로 OpenCL을 활용하기가 한층 쉬워졌다.
1. Ⓒ 2015 Multipels Co. Ltd. All Rights Reserved. Contact : sales@multipels.net
개요
OpenCV는 C 기반의 라이브러리이며, 안드로이드의
경우 Linux 기반의 달빅 가상머신 위에서 Java로 만들어
진 프로그램으로 돌아가기 때문에 직접적으로는 이 둘
을 연동한 개발환경 구축을 위해선 우선적으로 Eclipse
를 이용한 개발 환경 구축이 필수적이며 본 매뉴얼에서
Android NDK를 이용하여 Eclipse의 Android OpenCV
개발 환경 구축을 도와줄 것이다.
Eclipse를 이용한 Android OpenCV 개발 환경 구축 방법
준비물
Eclipse
– eclipse-jee-luna-SR2-win32-x86_64
JDK
– jdk-8u45-windows-x64.exe
Android NDK
– android-ndk-r10e-windows-x86_64
OpenCV for android
– OpenCV-2.4.9-android-sdk
CDT Plugin 설치
Help – Install New Software 에서 Work with에
CDT - http://download.eclipse.org/tools/cdt/releases/juno
사이트 경로를 추가하여 CDT Plugin을 설치한다.
따라해보세요!
NDK Location 설정
사전에 준비한 NDK 경로를 설정해 준다.
OpenCV Library 및 Sample Project 추가
OpenCV가 설치된 폴더 전체를 import하면 Library와 Sample
Project가 같이 추가된다.
2. Ⓒ 2015 Multipels Co. Ltd. All Rights Reserved. Contact : sales@multipels.net
Project 추가 후 오류 수정
1. Convert to a C/C++ Project
OpenCV와 관련있는 프로젝트와 라이브러리를 선택하여
Finish하면
다음과 같이 Project Properties에서 C/C++에 관련된 설정을
조작할수 있게 됩니다.
이곳에서 다음과 같이 Build command를 ${NDKROOT}/ndk-
build.cmd로 설정하고 Library Properties에서 다음과 같이 환
경 변수를 추가해줍니다. (‘’를 ‘/’로 바꾸어서 경로를 지정해
주세요.)
3. Ⓒ 2015 Multipels Co. Ltd. All Rights Reserved. Contact : sales@multipels.net
그러고 나서 Project – Clean 후 Eclipse를 재시작 해줍니다.
그러고 나면 설정한 Project에 한해서는 다음과 같이
오류가 사라진 것을 볼수 있다.
잠깐! 잘 따라서 했는데도 안된다면?
기본적으로 매뉴얼대로 했지만 안되는 경우 개발자라
면 구글링이 습관화 되어야 한다. 하지만 빈번히 발생
하는 몇가지 오류에 대해 몇가지 적어보았다.
1. Clean이 안될경우!
• OpenCV Library Default output folder setting
여기서 맨 아래 Default output folder를
OpenCV Library – 2.4.9/cls
-> OpenCV Library – 2.4.9/bin 으로 변경
4. Ⓒ 2015 Multipels Co. Ltd. All Rights Reserved. Contact : sales@multipels.net
2. Project Problems !
• Project Build Target 설정 & Add Library
Project Properties – Android 탭에서 두가지 문제가 발
생할수 있는데 첫번째로 어떤 버전의 안드로이드를 타
겟으로 개발할것인지를 설정해야 하며, 아래에 Library
의 경로가 상대경로 “....sdkjava”일 경우가 아니라
“C:Program files....”와 같이 절대경로로 되어있다면
현재 라이브러리와 프로젝트가 서로 다른 로컬디스크
에 존재하는 경우임으로 같은 디스크로 맞추어서 상대
경로 표시가 나올수 있도록 해야한다.
• JRE Library추가
마지막으로 Eclipse 문제인지는 모르겠으나 기본적으로
Java Compile시에 “java,util”같은 기본적인 라이브러리가
import되지 않을 때 Project Properties -> Java Build Path
– Libraries에 Add Library하여 오류를 해결할 수 있다.