<p><span style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff; font-size: 20pt;"><font color="navy">1. 개요<br /></font></span><br style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;" /><strong style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;"><span style="font-size: 10pt;">ARToolKit</span></strong><span style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">은 (자신들의 메뉴얼에 따르면)</span><br style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;" /><span style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">세계에서 가장 범용적으로 사용되는 &nbsp;Augmented Reality 구현을 위한 라이브러리입니다.</span><br style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;" /><span style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">Windows, Mac OS X, Linux 등 다양한 플랫폼을 지원하며,</span><br style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;" /><span style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">ARToolKit Professional 4, osgART, ARToolKit NFT 등 다양한 버젼을 제공합니다.</span></p>
<div style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">그리고 ARToolKit Pro.의 경우, 2.x의 버전을 오픈소스 라이센스인 GPL로 제공하고 있습니다.</div>
<div style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;"><br /></div>
<div style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">증강현실 프로젝트를 진행하며 ARToolKit 을 사용해 보기 위하여</div>
<div style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">오픈소스인 ARToolKit Pr.o 2.x 를 다운받아 테스트해 보았으나</div>
<div style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">만족할 만큼의 성능을 보이진 못했습니다.&nbsp;</div>
<div style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;"><br /></div>
<div style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">그래서 이번에 ARToolKit의 제작회사인 ARTOOLWORKS INC. 에 직접 문의하여<br />상용버전인&nbsp;ARToolKit Pro. 4 버젼을 trial 해 보았습니다.<br /><br /><br /><span style="font-size: 20pt;"><font color="navy">2. AR 이란?<br /></font></span><br />아마도 AR이란 단어가 생소한 분들이 많으리라 생각합니다.<br /><strong>AR(augmented reality)이란</strong>&nbsp;한글로는&nbsp;<strong><font color="#112a75">증강현실</font></strong>이라고 하는데,<br />이는 "현실의 세계에 가상의 물체를 더하여 보여주는 것"을 의미합니다.<br />예를 들면, 드래곤볼에 나오는 스카우터, 터미네이터의 시야(?) 등이죠.<br /><br />아래는 sprxmobile 라는 회사에서 만든 Layar라는 구글 안드로이드폰에서 실행되는<br />어플리케이션입니다. 이 동영상에서처럼, 현실의 영상을 캠으로 촬영하여<br />그 위에 추가적으로 정보를 보여주는 것이 바로 증강현실 입니다.<br />&nbsp;<br /><br />이러한 증강현실 기술을 구현하는데 있어서 핵심이 되는 기술들은<br /><u>Image Processing</u>과&nbsp;<u>Computer Graphics</u>에 기반합니다.<br />ARTookKit은 이러한&nbsp;기술들을 모아놓은 라이브러리로,<br />개발자들로 하여금 손쉽게 증강현실 어플리케이션을 구현할 수 있게 도와줍니다.<br /><br /><span style="font-size: 20pt;"><font color="navy"><br />3. 설치 및 빌드<br /></font></span><b><span style="font-size: 12pt;"><br />3.1. Download &amp; Install ARToolKit Pro.<br /><br /></span></b>ARToolKit Pro.는 앞서 말씀드린바와 같이<br />Linux, Mac, Windows 등 다양한 OS를 지원합니다.<br />또한 Windows 버전의 경우 Visual Sudio(이하 VS)7.1, VS8.0, VS9.0등<br />다양한 &nbsp;VS 버전으로 제공됩니다.<br /><br />저의 작업 환경은 Windows 이므로, Windows 버전을 설치하였습니다.<br /><br />ARToolKit Pro.을 설치 후 폴더 구조는 아래와 같습니다.<br />
   <div class="imageblock" style="border: 1px solid rgb(221, 221, 221); padding: 5px 0px; margin: 5px 0px; text-align: center; display: inline;"><img src="https://t1.daumcdn.net/cfile/tistory/160770134A9B8AF653" width="151" alt="" filename="pic2.jpg" filemime="image/jpeg" style="border: 0px; cursor: pointer; max-width: 100%; height: auto;" /></div>
   <br /><br />각 폴더의 구성을 살펴보겠습니다.<br />
   <p>&nbsp;</p>
   <table cellspacing="0" cellpadding="5" width="562" border="1">
      <tbody>
         <tr>
            <td width="152">
               <p><b><font color="blue">ARToolKit4.xcodeproj<br /></font></b><b><font color="blue">bin<br /></font></b><b><font color="blue">doc<br /></font></b><b><font color="blue">examples<br /></font></b><b><font color="blue">include<br /></font></b><b><font color="blue">lib<br /></font></b><b><font color="blue">share<br /></font></b><b><font color="blue">util<br /></font></b><b><font color="blue">VisualStudio</font></b></p>
               </td>
            <td width="400">
               <p>Mac OS용 프로젝트 폴더<br />ARToolKit Pro.의 exe, dll 의 output 폴더<br />ARToolKit 문서 및 테스트 마커 이미지 폴더<br />예제 프로그램 소스 폴더<br />헤더파일 폴더<br />라이브러리 폴더 및 전체 라이브러리 소스 폴더<br />linux 용 환경 화일 폴더<br />ARToolKit Pro.를 위한 Utility 소스 폴더 (ex. 마커 패턴 추출 프로그램)<br />Windows 용 프로젝트 폴더</p>
               </td>
            </tr>
         </tbody>
      </table>
   <p>&nbsp;</p>
   <b><span style="font-size: 12pt;"></span></b>
   <p><b><br />3.2. Required software/source packages - for Windows<br /></b><br />ARToolKit Pro.의 라이브러리를 사용하기 위해선, 추가적으로 요구되는 패키지들이 있습니다.<br />아래 URL에 접속하시면, 이에 대한 원문을 확인할 수 있습니다.<br /><a href="http://www.artoolworks.com/support/library/Installing_ARToolKit_Professional" target="_blank" style="color: #333333; text-decoration-line: none;">http://www.artoolworks.com/support/library/Installing_ARToolKit_Professional</a><br /><br />저의 작업 환경은 Windows 이므로, Windows 기준으로 설명하겠습니다.<br /><br />0.&nbsp;<b>Compiler (필수)</b>&nbsp;<br />&nbsp;- 이건 너무 당연한거군요. Visual Studio 를 설치해야 합니다.<br />&nbsp;&nbsp;&nbsp;ARTOOLSWORKS INC.에서 제공하는 솔루션 버젼은 VS 2003, VS 2005, VS 2008 3가지 입니다.<br /><br />1.&nbsp;<b>OpenGL (필수)</b><br />&nbsp;- ARToolKit은 3D 라이브러리로 OpenGL을 사용합니다. 따라서, OpenGL의 설치는 필수입니다.<br />&nbsp;&nbsp;&nbsp;작업환경이 Windows이므로, Windows Platform SDK를 설치합니다.<br />&nbsp;&nbsp;&nbsp;다운로드 :&nbsp;<a href="http://www.microsoft.com/downloads/details.aspx?familyid=484269E2-3B89-47E3-8EB7-1F2BE6D7123A&amp;displaylang=en" target="_blank" style="color: #333333; text-decoration-line: none;">http://www.microsoft.com/downloads/details.aspx?familyid=484269E2-3B89-47E3-8EB7-1F2BE6D7123A&amp;displaylang=en</a><br /><br />2.&nbsp;<b>GLUT (선택)</b><br /><br />&nbsp;- ARgsub 라이브러리를 빌드하고자 할 때 설치합니다. ARToolKit Pro. 안에 함께 포함되어 있습니다.<br />&nbsp;&nbsp;&nbsp;다운로드 :&nbsp;<a href="http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip" target="_blank" style="color: #333333; text-decoration-line: none;">http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip</a><br /><br />3.&nbsp;<b>OpenCV (선택)</b><br /><br />- calib_camera 유틸리티를 빌드하고자할 때 설치합니다.<br />&nbsp;&nbsp; 다운로드 :&nbsp;<a href="http://sourceforge.net/projects/opencvlibrary/files/opencv-win/1.1pre1/OpenCV_1.1pre1a.exe/download" target="_blank" style="color: #333333; text-decoration-line: none;">http://sourceforge.net/projects/opencvlibrary/files/opencv-win/1.1pre1/OpenCV_1.1pre1a.exe/download</a><br /><br />4.&nbsp;<b>Video Capture Source (필수)</b><br /><br />&nbsp;- ARvideo 라이브러리를 빌드하고자 할 때 설치합니다. AR 프로젝트 개발시, 비디오 캡쳐는 필수이므로<br />&nbsp;&nbsp; 반드시 설치해야 합니다. Windows를 사용한다면, QuickTime, 혹은 DirectShow를 지원합니다<br />&nbsp;&nbsp; (다른 라이브러리가 더 있지만, 생략하겠습니다).<br />&nbsp;&nbsp;&nbsp;OpenGL 설치시 이미 Platform SDK를 설치하였는데, 이 때 DirectShow가 설치되므로 이를 이용하겠습니다.<br /><br />5.&nbsp;<b>OpenVRML (선택)</b><br /><br />- AR에서 VRML을 이용하여 3D 오브젝트를 렌더링 하기 위해 필요합니다. 필수 사항은 아닙니다.<br />&nbsp;&nbsp;&nbsp;참고로, Visual Studio 2008에서 VRML이 잘 지원되지 않아서, 2005 이하 버전에서만 설치하였습니다.<br />&nbsp;&nbsp;&nbsp;다운로드 :&nbsp;<a href="http://www.artoolworks.com/dist/openvrml/" target="_blank" style="color: #333333; text-decoration-line: none;">http://www.artoolworks.com/dist/openvrml/</a><br /><br />6.&nbsp;<b>DSVL.dll (필수)</b><strong><br /><br />&nbsp;</strong>- ARTOOLWORKS INC.의 홈페이지에 소개되어 있지는 않지만, ARvideo 라이브러리 빌드시 필요합니다.<br />&nbsp;&nbsp;&nbsp;Source Forge의 ARToolKit 다운로드 페이지에 가면, 그 안에 포함되어 있습니다.<br />&nbsp;&nbsp; (대체 왜 Pro버전엔 넣어놓지 않았을까요?;;)<br />&nbsp;&nbsp; 다운로드 :&nbsp;<a href="http://sourceforge.net/projects/artoolkit/files/artoolkit/2.72.1/DSVL-0.0.8b.zip/download" target="_blank" style="color: #333333; text-decoration-line: none;">http://sourceforge.net/projects/artoolkit/files/artoolkit/2.72.1/DSVL-0.0.8b.zip/download</a><br /><span style="font-size: 12pt;"><b></b></span></p>
   <p><span style="font-size: 12pt;"><b>3.3. 프로젝트 빌드 및 실행</b></span></p>
   <p><span style="font-size: 12pt;"></span>환경 설정이 모두 끝났습니다. 다음으로 ARToolKit Pro. 내에 있는 솔루션을 빌드해 보겠습니다.<br />빌드를 위해서, 3.2.에서 설치한 추가 패키지들을 모두 include와 lib 폴더로 지정합니다.<br />저의 Visual Studio 에서 추가한 include 및 lib 폴더 입니다.<br /><b></b></p>
   <p><b>* include 폴더</b></p>
   <p>C:\Program Files\OpenCV\cv\include<br />C:\Program Files\OpenCV\cvaux\include<br />C:\Program Files\OpenCV\cxcore\include<br />C:\Program Files\OpenCV\ml\include<br />C:\Program Files\OpenCV\otherlibs\cvcam\include<br />C:\Program Files\OpenCV\otherlibs\highgui<br />C:\Program Files\Microsoft Platform SDK for Windows Server 2003<br />C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses<br />C:\Program Files\ARToolKit4\include\AR<br />C:\VSlib\DSVL\src ( 압축 푼 폴더로 지정)</p>
   <p>&nbsp;<b>* lib 폴더</b></p>
   <p>C:\Program Files\OpenCV\lib<br />C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses\SRV2003_RETAIL<br />C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Samples\Multimedia\DirectShow\BaseClasses\XP32_DEBUG<br />C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib<br />C:\Program Files\ARToolKit4\lib<br />C:\VSlib\DSVL\lib ( 압축 푼 폴더로 지정)<br /><br />이제 빌드할 수 있는 환경이 모두 갖추어 졌습니다.<br />우선, 제 랩탑에 라이센스로 신청되어있는 VS80을 빌드하였습니다.<br />빌드는 무사히 됐습니다만, 아래와 같은 에러가 발생하였습니다.<br /><br /></p>
   <div class="imageblock" style="border: 1px solid rgb(221, 221, 221); padding: 5px 0px; margin: 5px 0px; text-align: center; display: inline;"><img src="https://t1.daumcdn.net/cfile/tistory/180770134A9B8AF754" width="600" alt="" filename="pic3.jpg" filemime="image/jpeg" style="border: 0px; cursor: pointer; max-width: 100%; height: auto;" /></div>
   <br /><br />제어판의 이벤트뷰어를 찾아보니, VC80.CRT 에서 어셈블리를 찾을 수 없다는 에러를 확인할 수 있었습니다.<br />
   <div class="imageblock" style="border: 1px solid rgb(221, 221, 221); padding: 5px 0px; margin: 5px 0px; text-align: center; display: inline;"><img src="https://t1.daumcdn.net/cfile/tistory/190770134A9B8AF755" width="469" alt="" filename="pic4.jpg" filemime="image/jpeg" style="border: 0px; cursor: pointer; max-width: 100%; height: auto;" /></div>
   <br /><br />어떤&nbsp;윈도우 전문 개발자의 말에 따르면, VS80(Visual Studio 2005)의 경우 호환성에 있어서<br />문제가 있다고 하더군요. 같은 VS80에서 빌드한 어셈블러 코드라도,<br />세부 버젼이 다를 경우 호환이 제대로 되지 않아 실행이 되지 않는다고 합니다.<br /><br />VS80 재배포판을 설치하여도 계속해서 실행이 되지 않은 관계로, 어쩔 수 없이<br />VS71과 VS90 을 테스트해보니, 실행이 잘 되었습니다.<br />결국, 2003의 솔루션을 2005로 컨버젼하여 빌드&nbsp;하는 것으로 문제를 해결하였습니다.<br /><br />아래는 VS2500를 통하여 빌드한 화일을 실행한 화면입니다.<br />
   <div class="imageblock" style="border: 1px solid rgb(221, 221, 221); padding: 5px 0px; margin: 5px 0px; text-align: center; display: inline;"><img src="https://t1.daumcdn.net/cfile/tistory/110770134A9B8AF856" width="600" alt="" filename="pic5.jpg" filemime="image/jpeg" style="border: 0px; cursor: pointer; max-width: 100%; height: auto;" /></div>
   <p>&nbsp;</p>
   <p>&nbsp;</p>
   <p><span style="font-size: 20pt;"><font color="navy">4. 결론</font></span></p>
   <p><br />ARToolKit Pro를 테스트해본 결과 예상외로 괜찮은 성능을 보여주었습니다.<br />GPL인 ARToolKit 2.72에 비하여 훨씬 더 안정적이며, 속도도 향상되어 있었으며,<br />특히나, Cube 예제 등 Sample 프로그램도 흥미로운 것들이 많이 포함되어 있었습니다.<br />단일 프로젝트일 경우, 라이브러리 가격도 적정한 선이라 판단됩니다.<br />(구체적인 가격은 밝힐 수 없음을 양해바랍니다).<br /><br />아직은 상용 AR 서비스가 거의 전무한 상태라 벤치마킹을 할 정도로 실례가 충분하지는 않았지만,<br />테스트 결과, 상용 프로그램 개발시 효과적으로 사용할 수 있는 라이브러리라고 판단합니다.</p>
   </div>
<p><br style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;" /><br style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;" /><span style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">출처:&nbsp;</span><a href="https://abekdh.tistory.com/tag/ARtoolKit" style="color: #333333; text-decoration-line: none; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;" target="_blank">https://abekdh.tistory.com/tag/ARtoolKit</a><span style="color: #666666; font-family: Dotum, Verdana, AppleGothic, sans-serif; background-color: #ffffff;">&nbsp;[abekdh's home]</span></p>