Google Answers Logo
View Question
 
Q: big image from smaller ones with overlap ( Answered,   1 Comment )
Question  
Subject: big image from smaller ones with overlap
Category: Computers > Graphics
Asked by: theidea-ga
List Price: $5.00
Posted: 28 Oct 2002 23:35 PST
Expires: 27 Nov 2002 23:35 PST
Question ID: 91775
I'm writing a document-scanning and archiving tool in python. Some
document pages are too big to scan in one shot, so they require two passes
on a flatbed scanner.  Assembling the images by hand is too cumbersome, so I
need a routine (doesn't matter what language, as long as it is open 
source) to automatically reconstruct the original image from pairs of
overlapping scans.
Answer  
Subject: Re: big image from smaller ones with overlap
Answered By: gan-ga on 29 Oct 2002 17:30 PST
 
Greetings theidea-ga,


An open-source project named OSSIM exists at:

http://www.remotesensing.org/projects/ossim/index.php

which would appear to possibly fit your needs.

lcrocker-ga mentions in his comment that 'mosaicking' is
the technical term for what you are trying to acheive, and
the above project would appear to explicitly support this.


Frank Dellaert has some interesting information concerning
mosaicking at the following page:

http://www-2.cs.cmu.edu/~dellaert/mosaicking/

He provides contact information, stating:

"I have not taken the trouble to make the code available, 
but if you really want it, talk to me..."


Weiyang (Will) Zhou appears to be developing this technology at:

http://prettyview.com/mtch/mtch.shtml

contact information is available on his main page, at:

http://prettyview.com/


OrthoEngine from PCI Geomatics:

http://www.orthoengine.com/oev7.0.htm
http://www.pcigeomatics.com/cgi-bin/pcihlp/OEAE

..would appear to be a production package, designed for
merging aerial photographs into one continuous image.
Unfortunately, it does appear to be proprietary software
and thus may not be suitable for your purposes. I have included
the link since I have noted that the core technology appears
to be used elsewhere, possibly the code may be licenceable in
some manner.


Search Strategy:

open source image blending    - search term; Google
open source "mosaicking tool" - search term; Google


Hope this helps. If you would require more detailed information, or
my research has not fully answered your question, please feel
free to ask for clarification before rating. 

Gan

Request for Answer Clarification by theidea-ga on 08 Nov 2002 23:18 PST
I would like more detailed information, as OSSIM is a massive code
base and I wouldn't know how to find what I need from there.  The
other leads have not given me anything I can use yet.  This seems like
a pretty straightforward feature - pretty intrinsic to using a
scanner, and I'm surprised that the solution isn't more prevalent.

Clarification of Answer by gan-ga on 09 Nov 2002 05:16 PST
Hi theidea-ga,

Sorry to hear the answer given has not enabled you to progress with
your scanning and archiving tool so far.

Rest assured that you currently have my exclusive attention, whilst I
search for more information for you.

Best regards,

gan

Clarification of Answer by gan-ga on 09 Nov 2002 06:26 PST
Hello theidea-ga,

You may like to take a look at "PANORAMA TOOLS":

"PTStitcher: High quality, simple to use, all format stitching
software"
"Panorama Tools and PTStitcher are free and open source software."

http://www.path.unimelb.edu.au/~dersch/

This software appears to fit your needs, however I am currently
downloading it with a view to confirming this & providing you with
step-by-step instructions if possible.

gan

Clarification of Answer by gan-ga on 09 Nov 2002 09:22 PST
Hello again theidea-ga,

Having spent some time evaluating Panorama Tools, it certainly seems
capable of fulfilling your requirement; however there are quite a
number of command-line and control file parameters whch must be set up
in order to produce the effect you require.

There is a proprietary front-end available, which helps in producing
the control parameters - possibly you could use this to assist in
integrating Panorama Tools into your system. It is available on a
30-day free trial at:

PTGui:
http://www.ptgui.com/

I continue to research this for you,

Best regards,

gan

Clarification of Answer by gan-ga on 09 Nov 2002 11:37 PST
Hello again theidea-ga,

I have now successfully created a single stitched image using
'Panorama Tools', from two separate, overlapping images.

You should hopefully be able to directly call the PTStitcher.exe from
your code, controlling it via command line arguments. On test, I used
the following batch file entry to 'fire it up':

PTStitcher -o testing.png MeRGT.png MeLFT.png

Points to note when building the PTStitcher control file 'script.txt':

1. Source image focal length should be set quite high, due to the
source being a flatbed scanner.

2. Avoid using .bmp file format - the current release of the software
does not handle this format well, resulting in colourless, distorted
output image.

3. Control points are necessary to allow the software to align images
correctly. You could implement this directly in your own software, as
in PTGui, or handle it by mechanical alignment means, at time of
actual document scanning - passing a fixed set of control points,
based on this, to PTStitcher, via the 'script.txt' control file.

Here is a copy of the control file 'script.txt' I used;
most of it was created automatically for me by the PTGui front end
software:

# script file for ptStitcher created by ptGui

p w280 h175 f2 v80 u20 n"TIFF"
m g1 i0
i n"MeLFT.png"
o f0 y-2.79206 r0 p0.0700935 v7.509 a0.001 b-0.109324 c0.001 d0 e0
i n"MeRGT.png"
o f0 y3.39432 r-7.94829 p0.528394 v7.509 a0.001 b-0.109324 c0.001 d0
e0

# Image MeLFT.png was 139 pixels wide by 175 pixels high
# Image MeRGT.png was 146 pixels wide by 175 pixels high
# Both images taken from an original JPG of a full face,
# the nose was retained on both as overlap.

If you find that the software I have suggested above is unusable in
your particular application, let me know & I will continue to search
for a solution for you.

Best regards,

gan.

Clarification of Answer by gan-ga on 09 Nov 2002 11:57 PST
Hello theidea-ga,

Although this particular software does not satisfy your requirement to
be open-sourced, It may be eminently integratable with your system:

Panavue ImageAssembler command-line edition:
"The trial version has its command line capacities fully enabled":
http://www.panavue.com/products/index.htm

Best regards,

gan

Request for Answer Clarification by theidea-ga on 09 Nov 2002 19:10 PST
Thanks for your excellent research, but the configuration
that you mention requires manual alignment of points.  In 
my own research, I came across "image registration" as being 
the term for finding features in images, possibly aligning them
to a coordinate space or other images.

It also seems to me that panoramas are a more complex problem than
what I need solved, since there are more
distortions possible than with a flatbed scan.  It seems that something
that simply does good rotation and translation with possible blending
would do the job for merging scanned images.

Clarification of Answer by gan-ga on 09 Nov 2002 19:52 PST
Hi theidea,

Thanks for your further guidance - with your comments in mind, I
continue to research this issue.

Assuring you of my best attention,

gan

Clarification of Answer by gan-ga on 10 Nov 2002 09:22 PST
Hello theidea-ga,

Several resources for you:

-----------------------------------------------

Although no directly downloadable code appears to be available
currently, I thought you may find the following page, which does
incorporate contact information, of interest:

NASA - Earth and Space Data Computing Division:

A Registration Toolbox: Towards a Quantitative Evaluation of Automatic
Image Registration Algorithms

by Dr. Jacqueline Le Moigne (USRA/CESDIS-Code 930.5) and Wei Xia
(RSTX)

http://webserv.gsfc.nasa.gov/ENABLING-SCIENCE/articles/97-8.image.registration.html

-----------------------------------------------

David Heeger, Professor of Psychology and Neural Science at New York
University, presents a Matlab implementation of image registration
software;
this information is however of fairly high complexity & may / may not
provide you with some good leads:

Homepage:
http://white.stanford.edu/~heeger/

Downloadable software, copyright & permitted usage notice, 
and "Detailed description of the algorithm and related approaches":
http://white.stanford.edu/~heeger/registration.html

Note that the above information is in postscript / .tar format; you
will
require the appropriate viewers & decompressors.

-----------------------------------------------

Although aimed primarily at the processing of medical imagery,
possibly the following project may have information that will assist
you:

"AIR allows automated registration of 3D (and 2D) images within and
across subjects and within and sometimes across imaging modalities.
AIR source code written in C is available to the research community
free of charge. The code can be compiled for UNIX, PC or Macintosh
platforms. Only source code is available (no executables).
The AIR package includes automated routines for aligning and reslicing
tomographic image data. In addition, a number of utility routines and
error checking routines are provided. The routines are invoked as
standard UNIX commands and (with one exception) neither expect nor
allow user interaction once the command has been issued. In addition,
a series of C subroutines which comprise the AIR library are provided.
The AIR library can be used to easily incorporate automated image
registration into site specific programs adapted to your particular
needs.":
http://bishopw.loni.ucla.edu/AIR5/index.html

-----------------------------------------------

This next resource is tantalising, as I beleive it represents
presicely what you are looking for, unfortunately though, it is a
web-based service with no obvious downloadable code or usage agreement
etcetera. However, once again, contact information is provided, so
possibly you may find what you need here;
maybe the authors would allow licensing in some form?

I tested the registration here by taking a colour .png format image of
myself, and slicing it into two halves vertically, with a slight
overlap around the nose. I then rotated the right-hand image by 2
degrees clockwise. The result was remarkable; you may try the process
live on the Web:

WebReg:
University of California Santa Barbara:
http://nayana.ece.ucsb.edu/registration/

The contact person listed is:
B.S.Manjunath
http://www-iplab.ece.ucsb.edu/manjunath/

I notice the same people listed on the following page:
http://www.dpi.inpe.br/~fedorov/
which does have a download link - this was unfortunately nonfunctional
at the time of my visit. I think you would need to contact the authors
directly.

-----------------------------------------------

Again primarily aimed at medical applications, this software is free
software under the terms of the GNU General Public License:

Welcome to the VTK CISG Registration Toolkit:
http://www.image-registration.com/

-----------------------------------------------

ImageWarp 2.0 
http://software.geocomm.com/raster/

-----------------------------------------------

Search strategy:
Searchterms used in Google search engine:
"image registration" GNU licence
image registration
"image registration" download


I hope you may find something useful within the resources above;
please keep me informed. In the meantime I continue to search for
other options for you.

Best regards,

gan
Comments  
Subject: Re: big image from smaller ones with overlap
From: lcrocker-ga on 29 Oct 2002 10:47 PST
 
The technical term for that is "mosaicking" (yes, that's even
spelled correctly).  That would probably be a good first search term.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy