Dynamic Object Intersections
Intersections in which the objects are moving relative to one another,
can be defined as a static intersection, or can be understood using a
boolean logic.
For static intersections the general principle is that even if both
objects are moving, only one has to be considered moving. That is, one
object's movement vector can be subtracted from both objects, leaving
one object at rest.
Another approach can be catagorized as boolean, this
helps to define whether the objects intersect at all, or the location
where the actual intersection of the two moving objects occurs.
-
An effective compilation of object intersection software is available
at the realtime
rendering site.
-
Much of the available source code available to be applied for machine
vision is based in computer game rendering.
Of direct interest is:
People
Tracking for Visual Surveillance
Research done on the Tracking of People in camera images for automatic
visual surveillance systems, at the University of Reading.
The research is being carried out within the European Framework V
project ADVISOR in which an integrated visual surveillance and
behaviour analysis system is being developped. The People Tracker
used for the project is based on the Leeds People Tracker which was
developed by Adam Baumberg.
W4 from the The University of Maryland Institute for Advanced Computer
Studies (UMIACS)
UK and EU-funded research and development
projects such as CROMATICA, PRISMATICA and ADVISOR,
all involving major European public transport operators.
The file below contains a demonstration of the Pairwise
2D Object Recognition software. This software was
developed by the Electronic
Systems Group in the University of Sheffiled. The
software can be used to automatically construct edge based
repres-entations of large numbers of objects and then recognise and
locate these objects in cluttered scenes. The technique is view based
and matches more closely the processes thought to exist in the primate
brain. It is more generic than the wire frame techniques demonstrated
in the 3D matcher and is suitable for fast implementation on
fine-grained parallel hardware.
|
Repositories
|
-
The Open
Source Computer Vision Library provides a wide
range of functions, including gesture recognition, object-tracking,
face recognition and camera calibration, that will help researchers
develop ways to use "computer vision" as a method for people
to interact with computers.
-
-
-
University of Pennsylvania Computer
Vision Source code
-
-
The journal of
graphics tools has some code related to the papers
-
3-D
Graphics Software
-
Computational
Geometry Resources
-
Directory of /pub/Graphics
-
Graphics
Gems Repository
-
TOG : Software Related Tools
and Resources
-
Graphics Software Archive
-
Directory of Computational
Geometry Software
-
Seth Teller : GeomLib
-
Joseph O'Rourke
-
Ledalite
library
-
The
3D Coding Blackhole
-
Software
Related Tools at ToG
-
The Stony
Brook Algorithm Repository
-
DrDobb's
-
The
Intel Computer Vision Library
Gandalf
-
Gandalf is a computer vision and numerical algorithm library, written
in C
CVonline: The Evolving, Distributed, Non-Proprietary,
-
On-Line Compendium of Computer Vision: Motion
and Time Sequence Analysis
|
|
|
FAQ
|
-
comp.graphics.algorithms
Frequently Asked Questions
-
-
BSP Tree FAQ
-
Graphics FAQ
-
list of graphics related faqs
|
 |
Computer Vision
|
-
Computer
Vision software
-
-
David Eggert's Software
Center (aspect graph)
VXL
VXL is a collection of open-source C++ libraries for Computer Vision
research and implementation, produced by an international consortium of
researchers.The core libraries in VXL are:
* vnl (numerics): Numerical containers and algorithms. e.g. matrices,
vectors, decompositions, optimisers.
* vil (imaging): Loading, saving and manipulating images in many
common file formats, including very large images.
* vgl (geometry): Geometry for points, curves and other elementary
objects in 1, 2 or 3 dimensions.
* vsl (streaming I/O): Platform independent binary I/O functionality.
* vbl (basic templates): Useful templated C++ classes and functions in
STL style. e.g. smart pointers, 2d and 3d arrays, sparse arrays.
* vul (utilities): Useful non-numeric bit of code, e.g. for file,
directory, and url handling, command-line parsing, using strings,
timing, etc.
As well as the core libraries, there are libraries covering numerical
algorithms, image processing, co-ordinate systems, camera geometry,
stereo, video manipulation, structure recovery from motion, probability
modelling, GUI design, classification, robust estimation, feature
tracking, topology, structure manipulation, 3d imaging, , and much
more. These libraries may be in the VXL package, or in one of the
add-on packages such as tbl or oxl or rpl which contain useful code
that may not be up to the excellent quality standards of VXL.
Carnegie Mellon University Computer
Vision Home Page
FCL
A class library for POSIX/Windows development with built-in support
for object identification, object factories, object marshalling, and
multi-threaded support.
LTI-Lib
A C++ Library for computer vision.
|
 |
Image processing
|
-
Magic - Magic
Software, Dave Eberly's online computer graphics
related software repository.
-
-
-
PEIPA - The
Pilot European Image Processing Archive
-
-
Utah
Raster Toolkit
-
Vision
and image processing software
-
University of
Florida Image Algebra Project
-
ImageMagick
Here is a short collection of useful tools. Selected by the demand
observed on the relevant internet news groups, all programs are C
source code.
Chain
code: Input is a bi-level image, supposedly
containing a single object as black pixels. The procedure returns the
chain code corresponding to the object's boundary.
Hough
transform: For a bi-level image, this
function computes the Hough transform. The resolution in Hough space
can be changed to suit specific needs.
Thin:
Our version of the famous Zhang-Suen thinning algorithm.
Signature:
Calculates the signature of an object; that is, the set of (r, theta)
values from the center of mass to the boundary of the object.
Vector
templates: For use with simple glyph-like
objects. Construct a template by vectorizing the object boundary.
Result can be rescaled and rotated when matching.
Xapian
Xapian is a high performance search engine library. It implements the
probabilistic model of information retrieval, and is designed for use
in applications ranging from full scale Web search engines to searching
through email archives.
LIMP
LIMP is an image processing library for very large images.
Jungle
Software Projects
The jungle graphics library is a set of C++ classes that are either
contributed directly from a researcher in the lab or are the hybrid of
similar classes developed individually by separate researchers. The aim
is to have a common set of general classes that are useful for research
in computer graphics.
CMVision
Real-time color classification and segmentation library.
froi ||
fs-fast region of interest
Provides ROI tools for the analysis of fMRI data.
-
|
 |
Image manipulation
|
-
The Gimp (Amazing!)
-
-
GYVE
-
XV
-
XPaint
-
XITE
-
What is OpenDX?
Open
Visualization Data Explorer is a visualization
framework that gives users the ability to apply advanced visualization
and analysis techniques to their data. These techniques can be applied
to help users gain new insights into data from applications in a wide
variety of fields including science, engineering, medicine and
business. Data Explorer provides a full set of tools for manipulating,
transforming, processing, realizing, rendering and animating data and
allow for visualization and analysis methods based on points, lines,
areas, volumes, images or geometric primitives in any combination. Data
Explorer is discipline-independent and easily adapts to new
applications and data. The integrated object-oriented graphical user
interface is intuitive to learn and easy to use. For more information,
select the What is IBM Open Visualization Data Explorer? link listed
below.
|
 |
Mesh simplification
|
-
VDSlib
-
-
Jade
and Metro
-
QSlim
OpenMesh
-
OpenMesh is a generic and efficient data structure for representing
and manipulating polygonal meshes.
|
 |
Collision-detection
|
-
V-COLLIDE
-
-
Solid
XPSE
The "Xerox Particle Simulation Environment" brings computer
assisted design to physical systems that use and manipulate particulate
materials. |
 |
Modeling
|
-
Blender (great!)
-
-
The Mind's Eye
|
 |
Global illumination
|
-
Blue Moon Rendering Tools
-
-
Radiance
-
RAD
Source Distribution
-
Ledalite
library
-
Illum:
A Radiosity Program
-
Cornell Testbed for Image
Synthesis
-
MGF Parser and Examples
-
Render
Park
-
|
 |
Animation
|
-
Alice
-
-
Abdula:
Articulated Body Dynamics Using Low-complexity Algorithms
-
AERO -
A Physically Based Simulation and Animation System
|
 |
Volume rendering
|
-
Light
Field
-
Open Scene
Graph
-
The Open Scene Graph is a cross-platform C++/OpenGL library for the
real-time, photo-realistic rendering of large 3D models.
|
|
|
Volume rendering
|
-
VolPack
Volume Rendering Library
-
-
Visual
computing group in Pisa
triangulation, volume, simplification
Coin
Coin is an open source C++ class library / toolkit for 3D model
retainment, Open GL rendering, and manipulation.
Viz
Viz is a highly interactive data visualization tool for displaying
large voxel-based data sets
C++ Nurbs
Library
-
Non-Uniform Rational B-Splines (NURBS)
curves and surface are parametric functions which can represent any
type of curves of surfaces
|
|
|
Geometry
|
-
Multi-Tesselation
-
dimension-independent package for the representation and manipulation
of spatial objects as simplicial complexes at multiple resolutions.
-
CGAL
-
object-oriented computational geometry library, just great!
-
The LEDA Library
-
BSP
trees by AT Campbell III
-
GMV Home Page (Mesh
viewer)
-
Algorithm
Animation SystemGeomNet
-
a system for performing distributed geometric computing over the
Internet
-
Ernst Mucke's GeomDir
-
The
ZipPack Polygon Mesh Zippering Package
-
software
of the Visual computing group in Pisa
-
triangulation, volume, simplification
-
Grid Generation
CodesAvailable in US
-
STRIPE (triangel strip
generation)
-
Triangle
A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator.
-
GNU
Triangulated Surface library
-
Enclosing
Ball Software
Arageli
Arageli is aC++ library and a set of programs for computations in
arithmetic, algebra, geometry, linear and integer linear programming.
Point shop 3D
-
Pointshop3D is a system for interactive shape and appearance editing
of 3D point-sampled geometry.
tvmet
-
A Tiny Vector and Matrix template libary
CPT
-
This code implements an algorithm for computing the closest point
transform to a triangle surface on a regular 3D grid.
-
Simple
Geometry library, Steve Baker's vector, matrix, and
quaternion manipulation library.
geoma
-
C++ template classes for Geometric Algebras.
|
 |
File formats
|
-
NCSA's
file formats (3D and bitmap)
-
-
Image
File Formats (at TNT)
-
The Graphics File Format Page
-
MGF Parser and Examples
-
format for global illumination
-
CICA
Image File Formats List
-
CICA
Movie File Formats List
-
The
Unofficial TIFF Home Page
-
RGBE
File Format
libdvpsi
-
libdvbpsi is a simple library designed for MPEG TS and DVB PSI tables
decoding and generating
C3D
This web site provides definitive information about the C3D file format
for programmers, manufacturers and end-users. The C3D format is a
public domain, binary file format that is used in Biomechanics,
Animation and Gait Analysis laboratories to record synchronized 3D and
analog data. It is supported by almost all 3D
Motion Capture System manufacturers, as well as other companies in the
Biomechanics, Motion Capture and Animation Industries.
The C3Dserver
- a free Software Development Kit for C3D files with support for
Visual Basic and C++.
-
Free C3D software tools
and documentation.
|
 |
Game-related
|
-
How to use
image-based rendering in computer games
-
-
The Game Programming Page
-
Crystal space
Powerful 3D engine
-
flipcode
-
Raydeal
-
PC-GPE on the Web
-
Rad game tools
NeoEngine
-
Platform independent commercial grade LGPL game engine.
The Nebula Device
Nebula Device is an open source realtime 3D game/visualization engine,
written in C++ and scriptable through Tcl/Tk, Python and Lua.
Kyra
-
Kyra is a simple, fully featured, industrial strength Sprite engine
written in C++.
Gauge
-
GAUGE is a 3D game engine.
GTC: the Game Tool Chest
-
GTC is a C library for making networked 3d interactive applications.
|
 |
API-related
|
-
Gizmo 3D
-
(High performance 3D Scene Graph and effect visualisation toolkit for
Linux, WIN32 and IRIX)
-
OpenGL
resources and 3D graphics
-
OpenGL
WWW Center
-
The Mesa 3-D graphics library
-
Quickdraw 3D
-
Peremptory Performer
-
Java
3D API
-
Gateway
to OpenGL Info
-
Open
Inventor
-
Open
Inventor FAQ
-
Open
Inventor Documentation
VFML
Very Fast Machine Learning toolkit for mining high-speed time-changing
data streams and very large databases.
VFML is being distributed under a modified BSD license.
XEngine
XEngine is a platform- and rendering-API-independent 3D engine for
real-time visualization with support for programmable graphics pipeline
architectures and is implemented in C++.
GLT
-
GLT is a C++ class library for programming interactive 3D graphics
with OpenGL.
QGLViewer
QGLViewer addresses people programming in OpenGL to play around with
three dimensional scenes or to write software that uses OpenGL.
OglCLib
-
A class library to support multilayer 2D/3D-OpenGL-Applications.
SimGear
SimGear is a set of open-source libraries designed to be used as
building blocks for quickly assembling 3d simulations, games, and
visualization applications.
ImLib3D
-
ImLib3D is an open-source C++ library for 3D (volumetric) image
processing.
SPU-Toolbox
SPU-Toolbox, short for Sensor Processing Unit Toolbox, is a computer
vision centric C++ API for frame-rate sensor control under Linux.
C++
Tree Traversing Package
The "C++ Tree Traversing Package" is a package providing
generic, templated classes for the efficient traversal and, with a
small amount of extra work, search of almost all tree-like structures.
NeL
NeL is a library. It is designed and maintained by Nevrax. This
library contains a framework, a 3D engine, an AI engine and a
Network engine.
ZThread
The ZThread library is an advanced, object-oriented multi-threading
library. It provides a set of objects to create and control
interruptable threads.
VTK
The Visualization ToolKit (VTK) is an open source, freely available
software system for 3D computer graphics, image processing, and
visualization.
Interactive
Visualisation Framework
Ivf++ is a simple OpenGL/GLUT based C++ visualisation framework.
Digital Dawn Graphics
Toolkit
The DDG Toolkit is a Library of C++ classes to build real time 3D
graphics applications.
Explicit Multi-Threading (XMT): A
PRAM-On-Chip Vision
Research into parallel algorithmic methods, called PRAM (for
parallel-random-access machine, or model).
The
XMT tools |
 |
User interface
|
-
GTK
-
-
GNOME
-
QT
-
GLUI
-
(Open GL machine-independent C++ user interface library)
|
 |
Ray-Tracing
|
-
3D
object intersection
-
-
Fast,
Minimum Storage Ray-Triangle Intersection
-
Rayshade Homepage
-
Ray
Tracing News Guide
-
GX/GENERIC
-
Persistence
of Vision Ray Tracer
|
 |
Math
|
-
Wavelets
-
-
Numerical
recipes
MathStudio
Math Studio is an open-source project conceived to make typing and
resolution of mathematical expressions more comfortable
-
and easier.
IT++
-
IT++ is a library of mathematical, signal processing, speech
processing, and communications classes and functions.
AimLib
aimLib is an "array-independent mathematics library." This
means that it can operate with any number of available array libraries.
ccmath
A comprehensive mathematics library in C
hfloat
A library for calculations with extreme precision. |
 |
Misc
|
-
reflection
model (BRDF) viewer
-
-
PC
demos explained
-
3D Engines List
-
comparison o plenty of 3d engine
-
Graphics Memory Library
-
Welcome to the Jack Homepage
The ITTI Gravigs Project
The Vislist
-
The Vislist Digest is intended to embrace discussion on a wide range of
vision topics, including physiological theory, computer vision, machine
vision and image processing algorithms, vision techniques to support
robot navigation and spatial representation, artificial intelligence
and neural network techniques applied to vision, industrial
applications, robotic eyes, implemented systems, ideas, profound
thoughts; anything related to vision and its automation is fair game.
|
 |