Jay West wrote:
Whenever I scan a page from a manual, the scanned
image on the screen looks
horrible. However, when I print it out it is absolutely perfect. Yes, I've
tried zooming in on the image on screen, it is unreadable still.
It sounds like the software that you are using to display the scanned images
is seriously deficient. The scanned image is apparently OK.
There are several ways to scale down the image for display. They range
from requiring almost no computation at all, but
displaying a really
horrible picture, to taking a lot of computation but looking
beautiful.
The simplest approach is that if you want to display a 1/4 scale image, you
throw away 3 out of every 4 pixels, both vertically and horizontally, for
a total of 15 of every 16. This approach yields very poor results, but
some programs that are designed to deal with photographic images actually
do this, because even though it is not that good for photographs either, it
is not as bad as with text and line art.
This approach is even worse if you don't want to do scaling by an
integral amount. For instance, if the program decides that it needs to
display every 3.5th pixel, it will skip 2, display 1, skip 3, display 1,
etc. This yields even worse aliasing than skipping a constant number of
pixels.
There are two approaches that yield much better results. One is the
use of greyscale. In the 1/4 scale example, instead of throwing away
15 pixels out of 16, you count the number of pixels that were black. Let's
say there are 6. You make the resulting pixel 6/16 black. This is not
too computationally intensive, but it can have some of the same problems
if you use non-integral scale factors.
The "correct" approach is to run the image through a low-pass filter before
scaling it down. This is much more computationally intensive than the
other approaches, but it yields excellent results in grey scale, and quite
good results in bilevel, even for non-integral scale factors.
I normally use the "xv" program under Linux to view images, and it appears
to use the filtering approach. On my Pentium Pro 150, it takes about six
seconds for it to filter the page. I think the code in xv is not very
highly optimized (and I'm not talking about the compiler), because I've
seen other applications that do the same thing but don't take nearly as
long. For instance, Acrobat Reader on the same machine takes only about
two seconds.
Cheers,
Eric