|
Disclaimer:
Working with lasers is very
dangerous. A laser beam is capable of causing permanent blindness in
humans and animals, and should be treated with respect and due care
at all times. No responsibility is assumed by the author of this
document for any injury or loss caused as a result of using lasers.
Introduction
Lasers are usually the first
example that springs to mind when line generation in 3D scanning is
considered. The reason for this is obvious – a narrow beam of light
can be manipulated into a visible line quite easily, and a laser is
an ideal source of such light. Modern laser modules can project a
fine, bright line on most surfaces, although some care must be taken
to manipulate the beam safely and effectively. The laser line
generator is not an ideal solution, despite it's obvious advantages.
All lasers suffer from quantum speckle, and will appear to shimmer
when viewed on camera or with the naked eye. This speckle is
difficult to deal with effectively, and complicated time-space
algorithms must be used to counter the incoherent artifacts present
in the projected line. While modern laser emitters are more capable
of projecting lines in a variety of colours, it most likely that the
commonly available projectors will be red. This can cause problems
for certain chroma-based line capture algorithms, which may be unable
to distinguish the line on similarly coloured backgrounds. While the
simple solution to this problem is to add an alternative emitter, the
cost of multiple emitters can quickly become prohibitive to the
casual user, and the safety aspects of multiple lasers must also be
considered.
Hardware
Laser line emitters can be
produced quite easily with off the shelf components. There are two
main classes of line generator – the lens based generator, and the
mechanical laser painter.
Lens based emitters use a
cylindrical lens to stretch a laser beam along one axis to make a
line. Lens based line generators are very common, and can be found in
many hardware stores as stand alone units, or built into various
power tools. A notable variant of the lens based line generator uses
an anamorphic mirror to scatter the beam along one reflecting axis,
and produces a similar result. All lens based generators are prone to
distortion from poor quality lenses or poor alignment. Even properly
designed and constructed lens emitters will usually have a
'bright-spot' where the beam passes through the lens and appears
slightly thicker at one point.
Laser painters rely on a
rapidly rotating mirror to generate a beam. One advantage of the
laser painter is that the line always be straight, and will not have
a 'bright spot' like a lens based emitter. However, the painted beam
is not actually a complete line – the illusion of a line is created
by persistence of vision in the same way that a television picture is
created. The beam scans down faster than the eye can see, giving the
appearance of a continuous line. This may cause problems when
capturing laser lines on camera, as the scan rates of the camera and
the laser line will be asynchronous. Laser painters also require
moving parts, and are susceptible to vibration if improperly
constructed.
|
SNIPPETS:
GOING TO PYTHON
The splinescan project is being redesigned from the ground up using PYTHON.
I tried experimenting with C but in the end, the programming started to overtake
the project, and was becoming inaccessible. Python is an interpreted language,
runs on most platforms, is easy to learn and is ideally suited to the scanner project.
V4L
The capture system uses streamer to gather data - While V4L programming was
ok to do, there is very little need to reinvent the wheel and streamer does exactly
what the project needs it to do. |