[sane-devel] Accessing a scanner for a different reason

m. allan noah kitno455 at gmail.com
Thu Aug 9 13:35:34 UTC 2007

the problem here is not sane. infact, sane is not all that useful to
you, as it is designed as an interface to setup a wide variety of
parameters on 2-d scan, and aquire an image occasionally. you would be
better off probably writing a stand-alone libusb program to aquire the

your big problem is hardware. every manufacturer does something
different in terms of the control language. cheaper units typically
rely on the host computer for many functions, and feature a very low
level command set (lamp on, move head 1 step, read 1 line, etc). more
expensive machines have higer-level commands which rely on the cpu in
the scanner (accept scan params, scan)

you need to give more data about the size of read-head you need, the
bit-depth, and your intended use, before anyone can suggest a
particular model of scanner.


On 8/9/07, Justin Rosen <rosen at nanotoon.com> wrote:
> Hello!
> I've recently stumbled upon the SANE libraries in an effort to gain
> access to a scanner.  What I would like to do, is be able to read
> from a scanner, but not to create an image, but instead to pull RGB
> data from a single line of scan.  Meaning I only need a scan size of
> 1 pixel x width of scanner.  Also, I don't necessarily need the
> flatbed itself.  Is it possible with SANE to access a scanner that
> has been taken apart?  I essentially need the RGB values of the
> scanning head in realtime (I'm not sure what the terminology is for
> the portion of the scanner that actually gets color values).
> So imagine the scanner as a color sensor constantly pumping out an
> array of RGB colors, where the array size is the width of the scanner.
> I'm completely new to the SANE libraries, I've read the SANE Standard
> and compiled the SANE libraries and I'm stuck on the fact that I
> think the scanner I purchased is broken, so I'm at a halt for the
> moment, but thought I could get a little more insight on my issue.
> I thought my idea above could be possible using SANE for a few
> reasons.  If I were to write a front-end that used a scanner to scan
> an area of 1pixel x scanner width per frame, and to continually scan
> frames until I told it to stop, I could receive RGB data as fast as
> the scanner could scan (hopefully real-time).  If this can be done,
> great!  I need to really figure out how to write the front-end!  The
> only problem I see is that I'm hoping to take the scanner apart and
> use just the sensor to pull data from.  I noticed that some of the
> SANE calls may fail if the SANE_Status is SANE_STATUS_COVER_OPEN,
> which leaves me to believe I won't be able to take the scanner apart
> and just pull RGB data from the scanner head.
> If anyone can answer any or part of my questions or point me in the
> right direction it would be greatly appreciated.
> Thanks for your time.
> Cheers,
> Justin Rosen
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>              to sane-devel-request at lists.alioth.debian.org

"The truth is an offense, but not a sin"

More information about the sane-devel mailing list