| 1 |
====================================================================== |
| 2 |
NyARToolkit |
| 3 |
version 4.1.1 |
| 4 |
====================================================================== |
| 5 |
Copyright (C)2008-2012 Ryo Iizuka |
| 6 |
|
| 7 |
http://nyatla.jp/nyartoolkit/ |
| 8 |
airmail(at)ebony.plala.or.jp |
| 9 |
wm(at)nyatla.jp |
| 10 |
|
| 11 |
Translated by Bao-Wen Chen |
| 12 |
|
| 13 |
---------------------------------------------------------------------- |
| 14 |
About NyARToolkit |
| 15 |
---------------------------------------------------------------------- |
| 16 |
|
| 17 |
* NyARToolkit is a class library for Augmented Reality (AR) application |
| 18 |
based on the ARToolkit 2.72.1. |
| 19 |
* Compatible with J2SE5.0 and above. |
| 20 |
* Composed of basic features of ARToolkit, NyARToolkit's orginal features |
| 21 |
and framework. |
| 22 |
* Consisting of three modules: an independent "lib" module, |
| 23 |
an environment-dependent "utils" module, and a "sample" module that |
| 24 |
can package sample applications. |
| 25 |
* The lib module only work under J2ME API environment. |
| 26 |
* The util module provides controls for camera, 3D system, and helper class |
| 27 |
for interfacing external modules. |
| 28 |
* The sample module is a collection of AR applications, with a minimal |
| 29 |
amout of features. |
| 30 |
|
| 31 |
For more info on ARToolkit, please visit the following URL |
| 32 |
http://www.hitl.washington.edu/artoolkit/ |
| 33 |
|
| 34 |
|
| 35 |
---------------------------------------------------------------------- |
| 36 |
NyARToolkit Features |
| 37 |
---------------------------------------------------------------------- |
| 38 |
|
| 39 |
* Support multiple image inputs (BufferedImage, JMF output, binary input, |
| 40 |
and so on) |
| 41 |
* Enhanced reusability compared to ARToolkit |
| 42 |
* High-speed capabilities are available for following calculation: |
| 43 |
labeling, posture optimization, image processing, matrix operation, equation resolution (�������v�Z?). In total, it's about twice faster than ARToolkit. |
| 44 |
* Support NyID-style ID marker |
| 45 |
* A MarkerSystem class that makes easy multiple uses of AR/NyID markers. |
| 46 |
* A simple sketching system for OpenGL |
| 47 |
* API for changing image format to and from BufferedImage. |
| 48 |
* Possible to use PNG image as markers, and to cut out parts of captured image. |
| 49 |
|
| 50 |
|
| 51 |
--------------------------------------------------------------------- |
| 52 |
NyARToolkit License |
| 53 |
---------------------------------------------------------------------- |
| 54 |
|
| 55 |
NyARToolkit adaptes a commercial licensing and GPLv3 (or later) dual |
| 56 |
license scheme. |
| 57 |
* The GNU General Public License (GPL) Ver.3 is intended for |
| 58 |
open source usage, where applications based on NyARToolkit should also |
| 59 |
be distributed under the GPL. |
| 60 |
* Commercial licensing is intended for commercial useage, which means |
| 61 |
applications based on NyARTookit can be distributed without publishing |
| 62 |
the source. |
| 63 |
* If a GPLv3 license is approved, it will be available to use free of |
| 64 |
charge, regardless of commercial or non-commercial purposes. |
| 65 |
* If a GPLv3 license is not approved, please consider purchasing the |
| 66 |
commercial license. |
| 67 |
|
| 68 |
GPLv3 |
| 69 |
For more info on GPLv3, read LICENSE.text. |
| 70 |
|
| 71 |
Commercial License (Japan) |
| 72 |
Please contact M-Soft Inc. |
| 73 |
http://www.msoft.co.jp/pressrelease/press090928-1.html |
| 74 |
|
| 75 |
Commercial License (Other countries) |
| 76 |
Please contact ARToolWorks Inc. |
| 77 |
http://www.artoolworks.com/Home.html |
| 78 |
|
| 79 |
|
| 80 |
---------------------------------------------------------------------- |
| 81 |
External Libraries |
| 82 |
---------------------------------------------------------------------- |
| 83 |
|
| 84 |
NyARToolkit uses the following external libraries. If newer version |
| 85 |
becomes available, please install the newer version. |
| 86 |
|
| 87 |
1. JMF JavaTM Media Framework 2.1.1e |
| 88 |
Required for running utils.jmf, sample.jogl |
| 89 |
URL: http://www.oracle.com/technetwork/java/javase/download-142937.html |
| 90 |
|
| 91 |
2. QuickTime 7.5 |
| 92 |
Required for running utils.qt |
| 93 |
URL: http://www.apple.com/quicktime/qtjava/ |
| 94 |
|
| 95 |
3. Jogl |
| 96 |
Required for running utils.jogl, sample.jogl |
| 97 |
URL: http://download.java.net/media/jogl/builds/archive/ |
| 98 |
file : jogl-1.1.1-rc8-xxxx-xxx.zip |
| 99 |
|
| 100 |
4. java3d |
| 101 |
Required for running utils.java3d, sample.java3d |
| 102 |
URL: https://java3d.dev.java.net/binary-builds.html |
| 103 |
file: java3d-1_5_1-xxxx-i586.exe |
| 104 |
|
| 105 |
Depending on application and purpose, it's not necessary to install all |
| 106 |
the libraries above. Install only those needed. |
| 107 |
|
| 108 |
|
| 109 |
---------------------------------------------------------------------- |
| 110 |
Getting Started |
| 111 |
---------------------------------------------------------------------- |
| 112 |
|
| 113 |
This section provides instruction for installing NyARToolkit development |
| 114 |
tools under Eclipse environment. |
| 115 |
|
| 116 |
1. Create a new workspace/project in Eclipse. |
| 117 |
2. Import lib, utils, and sample modules (directories) into the workspace/project |
| 118 |
3. Correct the errors found at the imported project. Common errors include |
| 119 |
inconsistent character codes, or reference misses to external JAR files . |
| 120 |
The error of inconsistent character codes can be resolved by changing |
| 121 |
the project's encoding to UTF-8. For resolving reference misses to |
| 122 |
external JAR libraries, please refer to the chapter of external library |
| 123 |
(Where is the chapter?). |
| 124 |
4. Connect webcam to PC. |
| 125 |
5. Run SimpleLiteMStandard.java within NyARToolkit.sample.jogl, and point |
| 126 |
the webcam to the marker. If a cube appears, the installation of NyARToolkit |
| 127 |
is done! |
| 128 |
|
| 129 |
For detailed intruction of step 1 ~ step 4, please refer to |
| 130 |
http://sixwish.jp/Nyartoolkit/ |
| 131 |
|
| 132 |
---------------------------------------------------------------------- |
| 133 |
Project Outline |
| 134 |
---------------------------------------------------------------------- |
| 135 |
|
| 136 |
The outline of the Eclipse project. |
| 137 |
|
| 138 |
* NyARToolkit |
| 139 |
The main body of NyARToolkit library. Basically it will work as normal |
| 140 |
as long as J2ME API is provided. There are three source folders, |
| 141 |
1)src contains image processing, and numerical calculation classes. |
| 142 |
2)src.markersystem contains a MarkerSystem that is used to make the |
| 143 |
manipulation of multiple markers easier. |
| 144 |
3)src.rpf contains classes that together form RealityPlatform system. |
| 145 |
|
| 146 |
There is no external libraries required by this module. |
| 147 |
|
| 148 |
* NyARToolkit.sample.java3d |
| 149 |
Sample application that outputs Java3D formats. There is one sample program. |
| 150 |
It depends on two external libraries, Java3D and JMF. |
| 151 |
|
| 152 |
* NyARToolkit.sample.jogl |
| 153 |
A sample that is packaged with some typical methods from OpenGL. |
| 154 |
1)src contains sample applications that utilize MarkerSystem. It can |
| 155 |
further be grouped by those using OpenGL sketching and those not. |
| 156 |
2)src.old includes sample applications of previous formats. |
| 157 |
3)src.rpf includes sample applications that use RealtyPlatform. |
| 158 |
|
| 159 |
Usually, the samples under src will be enough. There are various kinds |
| 160 |
of samples under src/sketch folder. |
| 161 |
|
| 162 |
* NyARToolkit.sandbox |
| 163 |
It buries unverified or incomplete programs. There are many bugs so |
| 164 |
the quality is not assured. The sample programs under the test folder |
| 165 |
will probably be useful if you are to test RealityPlatform. |
| 166 |
|
| 167 |
* NyARToolkit.utils.j2se |
| 168 |
It contains helper classes and test programs that are dependent on JavaSE. |
| 169 |
Classes in this module enable you to input BufferedImage directly into NyARToolkit. |
| 170 |
|
| 171 |
* NyARToolkit.utils.java3d |
| 172 |
It contains helper classes and test programs that are dependent on Java3D. |
| 173 |
It provides NyARToolkit with the ability to output Java3D format. |
| 174 |
|
| 175 |
* NyARToolkit.utils.jogl |
| 176 |
It contains helper classes and test programs that are dependent on Jogl. |
| 177 |
It provides NyARToolkit with the ability to output Jogl format. |
| 178 |
|
| 179 |
* NyARToolkit.utils.qt |
| 180 |
It contains helper classes and test programs that are dependent on QTJava. |
| 181 |
It supports image capturing function via QuickTime. |
| 182 |
|
| 183 |
|
| 184 |
---------------------------------------------------------------------- |
| 185 |
NyARToolkit Performance |
| 186 |
---------------------------------------------------------------------- |
| 187 |
|
| 188 |
NyARToolkit replaced parts of the processing system of ARToolkit to enhance |
| 189 |
processing speed. At algorithm level, the performance of detecting one marker |
| 190 |
is four times faster, and it is two times faster when simply comparing speed |
| 191 |
to ARToolkit. |
| 192 |
|
| 193 |
When RPF(RealityPlatform, added in 3.0.0) module is used, it will likely |
| 194 |
to further increase speed up to 1.5 times faster. |
| 195 |
|
| 196 |
RPF is still unstable, if you don't hava a specific reason, I recommend you |
| 197 |
to use MarkerSystem module. |
| 198 |
|
| 199 |
|
| 200 |
---------------------------------------------------------------------- |
| 201 |
FAQ |
| 202 |
---------------------------------------------------------------------- |
| 203 |
|
| 204 |
*Q1. I cannot save configuration changes in JMF under Windows 7. |
| 205 |
=>Run JMFRegistry as an administrator, and you will be able to save |
| 206 |
changes to JMF. |
| 207 |
|
| 208 |
*Q2. I cannot simply replace NyARToolkit versions older than 2.5.3 with |
| 209 |
the latest version? |
| 210 |
=>Some method parameters are changed. Refer to sample programs and |
| 211 |
make necessary change to function calls. |
| 212 |
|
| 213 |
*Q3. What is RealityPlatform(RPF)? I don't know how to use it. |
| 214 |
=>RPF is a framework for marker-based AR application development. |
| 215 |
Using RPF, you can detect unknown markers, and easily access to |
| 216 |
markers' environment properties. Besides, you can also create |
| 217 |
jutting-out and/or partial-damage effects on markers. |
| 218 |
|
| 219 |
*Current version, 4.0.0, does not continue to maintain RPF. I recommend |
| 220 |
you to use the MarkerSystem of latest version. |
| 221 |
|
| 222 |
*Q4. What is MarkerSystem? |
| 223 |
=>MarkerSystem is a framework designed to make the use of |
| 224 |
multiple markers as easy as possible. Coordinates transformation, |
| 225 |
image acquisition,..etc can also be done without a pain in the neck |
| 226 |
via MarkerSystem. Moreover, the sketching system is improved with |
| 227 |
reference to Processing's sketching system. So now coding a |
| 228 |
NyARToolKit application is much more fun than before! |
| 229 |
|
| 230 |
|
| 231 |
---------------------------------------------------------------------- |
| 232 |
Known Bugs |
| 233 |
---------------------------------------------------------------------- |
| 234 |
Those known bugs are all related to RealityPlatform (RPF): |
| 235 |
1. Posture feedback is not implemented. |
| 236 |
2. Because the noise processing function of contour extraction system |
| 237 |
is based on least-squares method, it has greater delay. |
| 238 |
3. Due to the deficiencies of algorithms of the contour extraction system, |
| 239 |
drifting phenomenon of contour lines might occur. |
| 240 |
4. The performance of movement detection in two-dimensional system is low |
| 241 |
5. Edge extraction performs poorly When dealing with blurred edge. |
| 242 |
6. The performance of initial detection is low compared to older version |
| 243 |
of NyARToolkit. |
| 244 |
|
| 245 |
|
| 246 |
---------------------------------------------------------------------- |
| 247 |
Contact Me |
| 248 |
---------------------------------------------------------------------- |
| 249 |
If you have any questions or comments, email me at wm(at)nyatla.jp. |
| 250 |
I might not be able to answer soon, but I will reply as soon as possible. |
| 251 |
|
| 252 |
|
| 253 |
---------------------------------------------------------------------- |
| 254 |
Special Thanks |
| 255 |
---------------------------------------------------------------------- |
| 256 |
Hirokazu Kato, Ph. D. |
| 257 |
http://www.hitl.washington.edu/artoolkit/ |
| 258 |
|
| 259 |
Prof. Mark Billinghurst |
| 260 |
http://www.hitlabnz.org/ |
| 261 |
|
| 262 |
arc@dmz |
| 263 |
http://digitalmuseum.jp/ |
| 264 |
|