reacTIVision-1.3-src

所属分类:图形图像处理
开发工具:Visual C++
文件大小:1533KB
下载次数:16
上传日期:2007-04-19 20:25:09
上 传 者JackZHD
说明:  计算机图象处理 reacTIVision is an open source, cross-platform framework for the fast and robust tracking of fiducial markers. It allows the rapid development of table-based tangible user interfaces. This framework has been developed by
(computer image processing reacTIVision is an open source, cross-platform framework for the fast and robu st tracking of Fiducial markers. It allows the r apid development of table-based tangible user interfaces. This framework has been developed by)

文件列表:
reacTIVision-1.3 (0, 2006-11-22)
reacTIVision-1.3\calibration (0, 2006-11-21)
reacTIVision-1.3\calibration\rectglr_calibration.pdf (1005, 2006-11-21)
reacTIVision-1.3\calibration\square_calibration.pdf (921, 2006-11-21)
reacTIVision-1.3\CHANGELOG.txt (2664, 2006-11-21)
reacTIVision-1.3\common (0, 2006-11-22)
reacTIVision-1.3\common\CalibrationEngine.cpp (7544, 2006-11-22)
reacTIVision-1.3\common\CalibrationEngine.h (1489, 2006-11-22)
reacTIVision-1.3\common\CalibrationGrid.cpp (4544, 2006-11-22)
reacTIVision-1.3\common\CalibrationGrid.h (2180, 2006-11-22)
reacTIVision-1.3\common\cameraEngine.h (2625, 2006-11-22)
reacTIVision-1.3\common\cameraTool.cpp (1429, 2006-11-22)
reacTIVision-1.3\common\cameraTool.h (1314, 2006-11-22)
reacTIVision-1.3\common\DtouchFinder.cpp (3651, 2006-11-22)
reacTIVision-1.3\common\DtouchFinder.h (1380, 2006-11-22)
reacTIVision-1.3\common\FidtrackFinder.cpp (9402, 2006-11-22)
reacTIVision-1.3\common\FidtrackFinder.h (1679, 2006-11-22)
reacTIVision-1.3\common\FidtrackFinderClassic.cpp (4176, 2006-11-22)
reacTIVision-1.3\common\FidtrackFinderClassic.h (1465, 2006-11-22)
reacTIVision-1.3\common\FiducialFinder.cpp (7997, 2006-11-22)
reacTIVision-1.3\common\FiducialFinder.h (2218, 2006-11-22)
reacTIVision-1.3\common\FiducialObject.cpp (7466, 2006-11-22)
reacTIVision-1.3\common\FiducialObject.h (2304, 2006-11-22)
reacTIVision-1.3\common\FingerObject.cpp (5387, 2006-11-22)
reacTIVision-1.3\common\FingerObject.h (2053, 2006-11-22)
reacTIVision-1.3\common\FrameEqualizer.cpp (2045, 2006-11-22)
reacTIVision-1.3\common\FrameEqualizer.h (1352, 2006-11-22)
reacTIVision-1.3\common\FrameProcessor.h (2521, 2006-11-22)
reacTIVision-1.3\common\FrameThresholder.cpp (1577, 2006-11-22)
reacTIVision-1.3\common\FrameThresholder.h (1458, 2006-11-22)
reacTIVision-1.3\common\Main.cpp (5691, 2006-11-22)
reacTIVision-1.3\common\MessageServer.h (1313, 2006-11-22)
reacTIVision-1.3\common\MidiServer.cpp (8397, 2006-11-22)
reacTIVision-1.3\common\MidiServer.h (1900, 2006-11-22)
reacTIVision-1.3\common\portVideoSDL.cpp (14383, 2006-11-22)
reacTIVision-1.3\common\portVideoSDL.h (3032, 2006-11-22)
reacTIVision-1.3\common\Resources.c (42713, 2006-11-22)
reacTIVision-1.3\common\Resources.h (1199, 2006-11-22)
reacTIVision-1.3\common\RingBuffer.cpp (1879, 2006-11-22)
reacTIVision-1.3\common\RingBuffer.h (1325, 2006-11-22)
... ...

reacTIVision 1.3 ---------------- http://reactivision.sourceforge.net/ reacTIVision is an open source, cross-platform framework for the fast and robust tracking of fiducial markers. It allows the rapid development of table-based tangible user interfaces. This framework has been developed by Martin Kaltenbrunner and Ross Bencina at the Music Technology Group at the Universitat Pompeu Fabra in Barcelona, Spain as part of the reacTable project, a novel electro-acoustic music instrument with a tangible user interface. http://mtg.upf.es/reactable/ reacTIVision is a standalone application, which sends OpenSound Control messages via a UDP network socket to any connected client application. It implements the TUIO protocol, which was specially designed for transmitting the state of tangible objects on a table surface. Alternatively it can also send MIDI messages, which are fully configurable via an XML configuration file. The framework includes a set of example client projects for various programming languages, which serve as a base for the easy development of tangible-user interface applications. Fully functional example projects are available for: C/C++, Java, C#, Processing, Pure Data and Max/MSP. There are also some unsupported examples for Flash and SuperCollider available. This reacTIVision application runs and compiles under the following operating systems: Win32, MacOS X and Linux Under Win32 it suports any camera with a proper WDM driver, such as USB, USB2, FireWire and DV cameras. Also under MacOS X any such camera supported by QuickTime will work in reacTIVision. Under Linux FireWire cameras are best supported as well as a few selected Video4Linux USB cameras. Fiducial Symbols ---------------- This application was designed to track specially designed fiducial markers. You will find the default "amoeba" set of 90 fiducials within the document "default.pdf" within the symbols folder. Print this document and attach the labels to any object you want to track. The default fiducial tracking engine is using Ross Bencina's fidtrack library which is basically a newer high-performance implementation of Enrico Costanza's d-touch concept. Alternatively you can use the "classic" or the original "dtouch" sets. See below how to start the application to use these older symbol sets. Beginning with version 1.2 reacTIVision enables the multiple usage of the same fiducial ID in the same table setup. TUIO assigns a session ID to each object in the scene and transmits this session ID along with the fiducial ID. This allows the identification and tracking of various objects with the same ID. Starting with version 1.3 reacTIVision comes with multi-touch finger tracking using the most simple amoeba symbol as a finger sticker. You can find a PDF file with these small finger symbols in the symbols folder. This mode is sending TUIO cursor messages to the client applications, which have been updated accordingly. Application Handling -------------------- Before starting the reacTIVision application make sure you have a supported camera connected to your system. The application will obviously not work at all without a camera. Under Win32 and MacOS X the application will ask to select and configure the camera upon startup. Under Linux the camera will be selected automatically. Once configured the application will show a video window with the current camera image in black&white. Pressing 'T' will show the binary tresholded image, pressing the 'N' key will turn the display off, which reduces its CPU usage. Pressing the 'S' key will show to the original source image. The 'P' key pauses the image analysis completely, hitting 'ESC' will quit the application. The 'F' key toggles the diplay of FPS info. In order to produce some more verbose debugging output, hitting the 'V' will print the recognized symbol data to the console and draw the recognized fiducial IDs over the symbols on the screen. For convenience and debugging purposes the 'R' saves a raw image frame, while hitting the 'b' will save an image in the BMP format. Pressing the 'h' key will display all these options on the screen. Command Line Options -------------------- The reacTIVision application per default sends the TUIO messages to port 3333 on locahost (127.0.0.1) In order to change these parameters you can invoke the application with the -h [address] and -p [port] options. The -f option lets you select the fiducial recognition engine. The default engine is using the fastest and effective 'amoeba' fiducial set. Add the 'classic' option in order to use Ross' d-touch reimplementation. You can select Enrico's original d-touch engine by providing the 'dtouch' option. reacTIVision needs to know about the symbols' tree structure and their order. The default tree configuration for the provided amoeba fiducial set is already included within the application binary. If you want to use you own tree file (e.g. for changing the fiducial order) you can invoke the application with the -t [tree-file] option. Applying the -help option will print a usage message to the console. Type ./reacTIVision.app/Contents/MacOS/reacTIVision from within the terminal application if you want to start reacTIVision with command options under Mac OS X. TUIO vs. MIDI ------------- Starting with reacTIVision 1.3 the application can alternatively send MIDI messages, which allows to map any object dimension (xpos, ypos, angle) to a MIDI control via an XML configuration file. Adding and removing objects can be mapped to simple note ON/OFF events. Keep in mind though that MIDI has less bandwidth and data resolution compared to Open Sound Contol, so the new MIDI feature is meant as an convenient alternative in some cases, but TUIO still will be the primary messaging layer. Invoke reacTIVision with the "-m option, an example configuration file along with an example PD patch can be found in the midi folder. You can list all availabl MIDI devices with the "-l midi" option, and the "--midi-device lets you choose the device. Calibration and Distortion -------------------------- Some tables, such as the reacTable are using a mirror in order to increase the area visible to the camera at a minimal distance. This mirror as well as a fish-eye lens unfortunately distort the image. For the calibration print and place the provided calibration sheet on the table and adjust the grid points to the grid on the sheet. To calibrate reacTIVision invoke the application with the option: reacTIVision -g [grid_file] and switch to calibration mode hitting 'C' Use the keys A,D,W,X to move within grid, moving with the cursor keys will adjust the grid point 'O' resets the whole calibration grid, 'U' resets the selected point and 'K' reverts to the saved grid. To check if the distortion is working properly press 'r'. This will show the fully distorted live video image in the target window. Of course the normal distortion algorithm only corrects the found fiducial positions. Compilation ----------- The source distribution includes projects for all three suppported platforms and their respective build systems: Linux, Win32, MacOS X. Win32: A Visual Studio 2005 project as well as all the necessary libraries and headers (SDL, DsVideoLib) are included. The project should build right away without any additional configuration. Mac OS X: An Xcode project for Xcode version 2.5 or 1.5 is included. The build will require an installed SDL library in order to compile properly. Linux: Call make to build the application, the distribution also inludes a spec file for the creation of an RPM package. Make sure you have the following libraries and headers installed: libSDL, libraw1394, libdc1394. For the configuration of firewire cameras you might want to install the coriander utility. References ---------- This software is a conglomerate of various components, created by various authors and are licensed under different terms. Please refer to the file LICENSE.txt to learn about these components, their respective authors and which license applies to each part of this software.

近期下载者

相关文件


收藏者