티스토리 툴바


Flash/Flex/AS 3.02011/10/27 16:19


이 포스트를 작성하기 위해 4일 정도 삽질을 하면서 생긴 경험들을 정리하고자 합니다.
키넥트를 이용해서 플레시에서 제어하는 동영상을 보고 무작정 키넥트부터 질러댔다.
하지만 현실은 넘 암울...T.T  libfreenect을 설치 및 컴파일을 해야하는데 C++이나 C 컴파일을 해 본적이 없다.
그러나 드뎌 해냈다.. 컹 4일만에 성공했다. 아직 많이 부족하지만 as3-server.exe를 돌리고
" ### Wait client  "라는 문구가 떴을때 정말 희열을 느꼈고 이 모든것을 공유하고자 한다.
(참고 : 액션스크립트만 하고 다른 언어를 몰라도 따라서 한다면 반듯이 설치가 가능하다.)

설치환경에 따라 다소 차이가 있다..
우선 mac환경의 경우
http://www.as3kinect.org/guides/openkinect-wrapper-guide/   를 참고 하시면 가능하고
아래 설명 할 것은 window7(32비트) 환경이다.

-------------------------------------------------------------------------------------------------------

1. 필요한 프로그램 및 파일 다운로드

- Microsoft Visual C++ 2010 Redistributable Package

- Git-1.7.7-preview20111014.exe

설치 시 다음.. 다음.. 하신 후 설치 과정에서 아래의 옵션을 체크한 후 설치
선택 "Run git from the Windows Command prompt"
선택 "Check out WIndows style, commit Unix-style line endings"

- cmake-2.8.6-win32-x86.exe

- Visual C++ Express 2010

- freenect_win_deps.zip  (환경설정 시 필요한 파일, 다운로드 후 압축을 푼다)


2. 설치

- Git실행 후 명령어 실행

$ git clone git://github.com/OpenKinect/libfreenect.git             //downloads the project, creates local master
$ cd libfreenect                                                                    //cd to source directory
$ git branch --track unstable origin/unstable                           //creates a local unstable branch for remote unstable
$ git checkout unstable
$ git pull                                                                             //updates the contents of the selected branch
mkdir build                                                                         // build폴더 생성
cd build
cmake -G "Visual Studio 10" ..



- CMake 실행

옵션을 선택하는 과정입니다.
위의 그림은 최종 화면이고 처음에는 그림과 같이 전체 항목이 보이지 않는다.
맨 처음 보이는 항목들에 대해서만 경로를 적어주고 "Configure"버튼을 누르자.
그럼 안보이던 항목이 보일 것이다. 위의 그림처럼 전부 경로를 입력해 준 다음 "Generate" 버튼을 클릭 하면 완료.

A : git를 이용해서 파일을 다운받고 설정을 한 폴더를 지정
B : 그림과 같이 체크
C : 그림과 같이 체크
D : 위에서 다운(freenect_win_deps.zip)받은 후 압출을 해제한 경로 참고



- Visual C++ Express 2010

c:/user/사용자/libfreenect/build
폴더 안에 libfreenect.sln 더블 클릭으로 실행



이때 프로그램 선택 창이 뜬다면 "Visual C++ Express 2010" 선택 후 프로그램 실행



프로그램 좌측하단에 "Redy" 문구가 뜨면 "F7 키"를 눌러 디버그 시킨다.



디버그를 실행하면 다음과 같은 파일들이 생성된다.


위와 같이 파일이 생성되지 않았다면 디버그 과정에서 에러가 발생했기 때문이다.
이럴 땐 Output창에서 에러메세지를 추적해서 소스를 수정하거나 주석처리 하고
Solution Explorer에서 수정한 프로젝트 목록을 우클릭해서 Rebuild 해주면 된다.

처음에 as3-server.exe가 생성되지 않아서 확인해보니 코드 에러가 발생해서 에러난 부분을 주석처리
디버그 해서 파일을 생성하였다. C++를 잘 모르기에 이 방법을 채택했지만 정답은 아닌듯 하다.


- 필요한 dll파일 복사

아래 파일들을 c:/user/사용자명/libfreenect/build/bin/Debug 폴더에 복사해 준다.

경로 : freenect_win_deps.zip를 압축을 해제한 폴더 안에 lib 폴더에서
1) freenect.dll
2) freenect_sync.dll
3) pthreadVC2.dll
4) libjpeg-8.dll
5) glut32.dll

* 현재로썬 이 파일을 복사해 넣으면 에러가 난다. 생략한다.
경로 : platform\windows\inf\xbox nui camera\amd64
6) libusb0.dll

경로 : platform\windows\inf\xbox nui camera\x86
7) libusb0_x86.dll




3. 키넥트 드라이버 설치

- 다운로드 후 압출풀기 : freenect_drivers.zip
- 제어판 -> 장치관리자
- 기존의 kinect 드라이버 모두 삭제 (NUI or OpenNI)

1) 우클릭 ->
2) 드라이버 소프트웨어 업데이트  -> 
3) 컴퓨터에서 드라이버 소프트웨어 찾아보기 ->
4) freenect_drivers.zip를 압축 푼 경로안에 inf폴더안에

xbox nui audio
xbox nui camera
xbox nui motor

camera, motor, audio 개별적으로 설치


4. 실행

경로 - c:/user/사용자명/libfreenect/build/bin/Debug

1) hiview.exe





2) glpclview.exe




3) as3-server.exe



이제 플래시로 미디어 아트를 시작해 볼까요?
저작자 표시
Posted by 바다지기
Flash/Flex/AS 3.02011/10/10 15:45
가끔 미리 이미지의 사이즈를 알아야 하는 경우가 종종 생긴다.
이럴때 이미지를 로드하지 않고 간단히 알아내는 방법이 있다.


JPGSizeExtractor.as 를 이용하면 됩니다.
var je : JPGSizeExtractor = new JPGSizeExtractor( );

je.addEventListener( JPGSizeExtractor.PARSE_COMPLETE, sizeHandler );
je.extractSize( your_jpg_file.jpg );
function sizeHandler( e : Event ) : void {
    trace( "Dimensions: " + je.width + " x " + je.height );
}
자세한 설명은 아래 URL을 찹고 하세요 http://www.anttikupila.com/open-source/getting-jpg-dimensions-with-as3-without-loading-the-entire-file/
저작자 표시
Posted by 바다지기
Flash/Flex/AS 3.02011/10/05 17:21


저작자 표시
Posted by 바다지기