Project/Eng-Do2009. 1. 13. 18:28

[ 일본 문서를 자동 번역 및 의역한 것입니다. ]

원문주소: http://books.ascii.jp/9784048673617/ChangeLogForBook.txt

 

이 문서에 포함된 개발 환경의 데이터에 관하여

 

■ 실행 환경 
-  Microsoft Visual Studio 2008

기본 파일


 ● ARToolKit
URL :
http://sourceforge.net/project/showfiles.php?group_id=116280
파일 : ARToolKit - 2.72.1 - bin - win32.zip

● OpenVRML
URL  :
http://sourceforge.net/project/showfiles.php?group_id=116280
파일 : OpenVRML - 0.14.3 - win32.zip

● zlib  
[ 필요 없음 ]
URL  :
http://www.zlib.net
파일 : zlib123.zip

● libjpeg
URL  :
http://www.ijg.org/ 
파일 : jpegsr6.zip

다른 주소:

Download the following file: 
http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=16183

libpng-1.2.8.exe 859791 13453 i386 .exe (32-bit Windows)
[ Delete ] {ARToolKit}\OpenVRML\dependencies\lib\libpng.lib
[ Install ] libpng-1.2.8.exe and copy C:\Program Files\GnuWin32\lib\libpng.lib to {ARToolKit}\OpenVRML\dependencies\lib
 ● libpng 
URL   : http://www.libpng.org/pub/png/libpng.html 
파일 : lpng1228.zip 
다른 주소:
Download the following file: http://gnuwin32.sourceforge.net/packages/jpeg.htm

Description Download Size Last change Md5sum
Complete package, except sources Setup 600395 15 May 2005 bd00c5cca8d6e4e13564bdefc17038e7
This download should be jpeg-6b-4.exe
[ Delete ] {ARToolKit}\OpenVRML\dependencies\lib\libjpeg.lib
[ Install ] jpeg-6b-4.exe and copy C:\Program Files\GnuWin32\lib\jpeg.lib to {ARToolKit}\OpenVRML\dependencies\lib,
And rename it from jpeg.lib to libjpeg.lib
Also, copy jpeg62.dll, and libpng13.dll, and zlib1.dll from C:\Program Files\GnuWin32\bin to {ARToolKit}\bin
■ 실행 방법 [1] OpenVRML 관련 라이브러리 컴파일 zlib, libjpeg, libpng를 각각 컴파일하여 라이브러리 (*. lib)를 생성합니다. [2] OpenVRML 수정하고 다시 컴파일 1. [1]에서 사용한 다음의 헤더 파일을 (OpenVRML) \ dependencies \ include에 복사합니다. zconf.h zlib.h jconfig.h jerror.h jmorecfg.h jpeglib.h png.h pngconf.h 2. [1]에서 만든 다음과 라이브러리 파일을 (OpenVRML) \ dependencies \ lib에 복사합니다. libjpeg.lib libpng.lib zlib.lib 3. (ARToolKit) \ OpenVRML \ src \ openvrml - 0.14.3 \ ide - projects \ Windows \ VisualC7     \ OpenVRML \에있는 "OpenVRML.sln" VS 2008에서 실행 합니다. 이 경우 이전 파일은 "OpenVRML.sln.old"라는 이름으로 저장됩니다. 4. (ARToolKit) \ OpenVRML \ src \ openvrml - 0.14.3 \ lib \ regex \에있는 "regerror.c" 116 번째 120 번째 라인을 다음과 같이 수정합니다.    REGERROR (int errcode, const regex_t * preg, char * errbuf, size_t errbuf_size)    // REGERROR (ErrCode, preg, errbuf, errbuf_size)    // int errcode;    // const regex_t * preg;    // char * errbuf;    // size_t errbuf_size; 5. (ARToolKit) \ OpenVRML \ src \ openvrml - 0.14.3 \ lib \ antlr \ antlr \에 있습니다 "AST.hpp"151 번째 라인을 다음과 같이 수정합니다. [ 변경 전 ] inline operator <(RefAST l, RefAST r) / / (return true;) [ 변경 후 ] int inline operator <(RefAST l, RefAST r) / / (return true;) 6. (ARToolKit) \ OpenVRML \ src \ openvrml - 0.14.3 \ lib \ antlr \ antlr \에 있습니다 "Token.hpp"76 번째 라인을 다음과 같이 수정합니다. [ 변경 전 ] inline operator <(RefToken l, RefToken r) / / (return true;) [ 변경 후 ] int inline operator <(RefToken l, RefToken r) / / (return true;) 7. (ARToolKit) \ OpenVRML \ src \ openvrml - 0.14.3 \ src \ libopenvrml \ openvrml \에있는 "img.cpp"의 40 번째 라인 부근 (헤더 포함 직후)에 다음 코드를 추가합니다. 이것은 JPEG 오류를 방지합니다. # define XMD_H # ifdef FAR # undef FAR # endif 8. openvrml 속성 → 구성 속성 → C / C + + → 전처리 → "전처 리기 정의"에 다음과 같은 2 개 추가합니다. ( Debug, Release 둘 다 ) OPENVRML_ENABLE_IMAGETEXTURE_NODE OPENVRML_ENABLE_GZIP 9. antlr, openvrml, openvrml - gl, regex 속성 ( 라이브러리 → 일반 → 출력 파일 ) 에서 디버그 버전의 출력 파일 이름을 antlrd.lib, openvrmld.lib, openvrml - gld.lib, regexd.lib로 변경합니다. 10. antlr, openvrml, openvrml - gl, regex 4 개를 Debug 및 Release 빌드합니다. 11. 빌드 후 다음과 같은 8 개의 파일을 (ARToolKit) \ OpenVRML \ lib에 복사합니다. antlrd.lib antlr.lib openvrmld.lib openvrml.lib openvrml - gld.lib openvrml - gl.lib regexd.lib regex.lib [3] ARToolKit 수정 및 컴파일하고 다시 1. (ARToolKit) \ ARToolKit.sln를 VS 2008에서 실행 합니다. 이 경우 이전 파일은 "ARToolKit.sln.old"라는 이름으로 저장됩니다. 2. libARvideo 속성 (Debug) → 구성 속성 → 링커 → 입력 → "추가 종속성"을 다음과 같이 수정합니다. [ 변경 전 ] DSVLd.lib comsupp.lib [ 변경 후 ] DSVL.lib comsupp.lib 3. simpleVRML 속성 (Debug) → 구성 속성 → 링커 → 입력 → "추가 종속성"을 다음과 같이 설정합니다. opengl32.lib glu32.lib glut32.lib libARvrmld.lib libARvideod.lib libARd.lib libARgsub_lited.lib openvrmld.lib ← 변경 사항 openvrml - gld.lib ← 변경 사항 antlrd.lib ← 변경 사항 regexd.lib ← 변경 사항 ws2_32.lib libjpeg.lib libpng.lib zlib.lib 4. 전체 솔루션을 Debug 및 Release 모두에서 빌드합니다. 『 주식 회사 아스키 메디아와쿠스 http://asciimw.jp/ ※ 주의 정정 요청은 이곳으로 부탁드립니다. edit8-artoolkit@ml.asciimw.jp 2008/09/18 초판 작성 』
※ Release 모드로만 실행됩니다.
Posted by 열ㅇl
Project/Eng-Do2008. 11. 14. 20:51

원문 : http://cafe.naver.com/at0/697

 

앞의 글에서 AR이라는 기술에 대해서 소개했었습니다.

이번에는 ARToolKit을 설치하는 방법을 알려 드릴려고 합니다.

 

ARToolKit은 AR기술을 좀더 쉽게 구현하기 위해 사용자에게 제공되는 라이브러리입니다.

 

 

준비물 : USB port 달린 컴퓨터, PC CAM(화상카메라) , Visual studio 6.0이상, DirectX 9.0b 이상

공식 사이트 : http://www.hitl.washington.edu/artoolkit/

 

 

자 그럼 시작해 보겠습니다.

 

(1) ARToolKit Download

ARToolKit 사이트에 가셔서 상단 메뉴중 Download로 이동합니다.

그러면 아래와 같은 화면이 나옵니다.

 

빨간색 박스 친부분을 눌러 최신 버전이 있는곳으로 이동합니다.

 

그럼 아래아 같은 화면이 나옵니다.

ARToolKit-2.72.1-bin-win32.zip를 다운 받습니다.

OpenVRML은 선택사항인데 아직은 필요 없으니깐 그냥 넘어갑니다.

 

다운을 완료 했으면 편하신 폴더에 압축을 풉니다.

 

 

(2) GLUT DLL Download

아래 사이트로 가서 glut-3.7.6-bin.zip를 다운 받습니다.

http://www.xmission.com/~nate/glut.html

 

압축을 풀고 각각의 파일을 해당 폴더에 복사해 주어야 합니다.

glut32.dll -> c:\\windows\\system32

다음의 파일은  비쥬얼 스튜디오가 설치된 폴더에 복사해야 합니다.

glut.h -> c:\\Program Files\\Microsoft Visual Studio\\VC98\\Include\\GL

glut32.lib -> c:\\Program Files\\Microsoft Visual Studio\\VC98\\Lib

 

 

(3) Configure.win32.bat 실행

이제 ARToolkit을 압춘 해제한 폴더로 이동 합시다.

ARToolkit폴더로 이동하면 Configure.win32.bat 이라는 파일이 있습니다.

가볍게 더블클릭하여 실행해 줍니다.

그럼 도스화면 창이 뜨면서 실행되는게 보이는데 무슨무슨 파일이 복사되었다고 나옵니다.

확인하고 닫아줍니다.

 

 

(4) Batch Build

비쥬얼 스튜디오를 실행하여 ARToolkit 프로젝트를 엽니다.

File -> Open Workspace ->ARToolKit.dsw

그리고 상단의 메뉴에서 bulid -> Batch Build 를 클릭 합니다.

아래와 같은 화면이 나오는면 Win32Release, Win32 Debug만 클릭 되어 있는지 확인하고 build 클릭 합니다.

그럼 프로그램이 미친듯이 컴파일 할겁니다.

완료 되면 예제 소스 들을 돌려 봅시다.

 

(5) 예제 프로그램 실행하기

예제 프로그램은 ARToolKit폴더내에 examples폴더에 존재합니다.

많은 예제들이 존재하는것을 보실수 있을겁니다.

 

실행하기에 앞서 ARToolKit의 특징에 대해서 간단히 소개하고 넘어가겠습니다.

ARToolKit에서는 가상의 영상을 띄우기 위해 마커(marker)를 필요로 합니다.

이 마커라는것이 가상의 물체를 띄울 대상되는데 ARToolKit은 기본적으로 검은색 사각형을 마커로 잡습니다.

위의 사진과 같이 영상내에 검은색 사각형이 있고 그안에 hiro라는 글자가 보이시죠?

저게 ARToolkit의 마커가 되는 겁니다.

ARToolkit에서 사용하느 모든 마커는 검은색 사각형이 있어야 하고 사각형 안의 모양은 마은대로 변경 할 수 있습니다.

위의 사진에서는 hiro라는 글자가 새겨져 있는데 다른 영어를 적으셔도 되고

동그라미, 세모 등등 자신만의 모양을 만드셔도 됩니다.

단 마커를 사용하기 위해서는 프로그램에 기본적으로 저 마커가 등록이 되어 있어야 합니다.

그래야 화면내에서 저 마커를 찾아 가상 물체를 띄우겠죠?ㅎ

마커를 제작하는 방법은 다음시간에...ㅎ

 

ARToolKit에 대한 소개는 여기까지 하고 예제 프로그램을 실행해 보도록 하겠습니다.

일단 simple폴더에 있는 simpleTest.dsw를 실행해 보도록 하겠습니다.

컴파일 하고 ctrl + F5를 눌러 프로그램을 실행해 봅시다.

 

자 그럼~ 카메라 영상이 짠~~~하고 뜨나요~?

 

그럼 당신은 축복 받은 사람입니다.ㅎ

 

뭐든 그렇지만 처음 시작해서 한번에 되는일이 잘 없더군요.

꼭 삽질을 해야 아웃풋이 나오는거 같습니다.ㅎ

자! 여기서 실행하면 나타나는 대표적인 오류에 대해 해결 방안을 알려 드리겠습니다.

 

1) 실행시 msvcp71d.dll, msvcr71d.dll 등 dll파일을 찾을수 없다고 뜨는 경우

-> http://www.dll-files.com/ 사이트 가셔서 찾아서 다운 받아서 c:\\windows\\system32 에 복사해 두시면 됩니다.

msvcr71d.dll :  http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71d

msvcp71d.dll : http://www.dll-files.com/dllindex/dll-files.shtml?msvcp71d

 

2) Camera parameter load error!! 문구가 뜨는 경우

-> 상단의 메뉴에서 Project -> Settings눌러 줍니다.

    여러 메뉴가 뜰텐데 Debug로 이동하셔서 Working directory란에 경로 지정을 좀 해줘야 합니다.

    ARToolkit 폴더의 bin폴더의 경로 적어 주면 됩니다. 아래 그림을 참고 하세요~

 

 

 

(6) Test

이제 모든 작업이 끝났습니다.

프로그램을 실행해 보고 마커위에 가상 물체가 잘 뜨는지 테스트 해 보시기 바랍니다.

simpleTest에서 사용되는 마커는 pattens폴더에 pattHiro.pdf를 사용하시면 됩니다.

프린터기로 출력하셔서 사용해 보세요~

 

아래는 실행 화면 입니다~육면체가 이쁘장하게 뜨네요.ㅎ

 

 

ARToolkit에 대해 더많이 알고 싶은 분은 공식 사이트(http://www.hitl.washington.edu/artoolkit/)로 가셔서 상단의 메뉴에 Documentation로 이동하면 ARToolkit사용 방법에 대해 친절히 설명해 놓았습니다.

차근차근 보고 따라해 보시기 바랍니다.^^

그럼 오늘도 수고~

Posted by 열ㅇl
Project/Eng-Do2008. 11. 13. 23:39
 
화상채팅에 이용하면 좋을 듯~
Posted by 열ㅇl