kopia lustrzana https://gitlab.com/sane-project/website
155 wiersze
5.5 KiB
HTML
155 wiersze
5.5 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
|
|||
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
|||
|
<HTML>
|
|||
|
<HEAD>
|
|||
|
<TITLE>sane-devel: M3091 color scheme success</TITLE>
|
|||
|
<META NAME="Author" CONTENT="Frederik Ramm (frederik@remote.org)">
|
|||
|
<META NAME="Subject" CONTENT="M3091 color scheme success">
|
|||
|
</HEAD>
|
|||
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
|
|||
|
<H1>M3091 color scheme success</H1>
|
|||
|
<!-- received="Tue Feb 27 15:11:34 2001" -->
|
|||
|
<!-- isoreceived="20010227231134" -->
|
|||
|
<!-- sent="Tue, 27 Feb 2001 23:27:15 +0000" -->
|
|||
|
<!-- isosent="20010227232715" -->
|
|||
|
<!-- name="Frederik Ramm" -->
|
|||
|
<!-- email="frederik@remote.org" -->
|
|||
|
<!-- subject="M3091 color scheme success" -->
|
|||
|
<!-- id="20010227232715.A14623@aruba.remote.org" -->
|
|||
|
<STRONG>From:</STRONG> Frederik Ramm (<A HREF="mailto:frederik@remote.org?Subject=Re:%20M3091%20color%20scheme%20success&In-Reply-To=<20010227232715.A14623@aruba.remote.org>"><EM>frederik@remote.org</EM></A>)<BR>
|
|||
|
<STRONG>Date:</STRONG> Tue Feb 27 2001 - 15:27:15 PST
|
|||
|
<P>
|
|||
|
<!-- next="start" -->
|
|||
|
<LI><STRONG>Next message:</STRONG> <A HREF="0247.html">Tom Martone: "Re: Writing Fujitsu M3091 backend"</A>
|
|||
|
<UL>
|
|||
|
<LI><STRONG>Previous message:</STRONG> <A HREF="0245.html">Mick Barry: "Re: Writing Fujitsu M3091 backend"</A>
|
|||
|
<!-- nextthread="start" -->
|
|||
|
<!-- reply="end" -->
|
|||
|
<LI><STRONG>Messages sorted by:</STRONG>
|
|||
|
<A HREF="date.html#246">[ date ]</A>
|
|||
|
<A HREF="index.html#246">[ thread ]</A>
|
|||
|
<A HREF="subject.html#246">[ subject ]</A>
|
|||
|
<A HREF="author.html#246">[ author ]</A>
|
|||
|
</UL>
|
|||
|
<HR NOSHADE><P>
|
|||
|
<!-- body="start" -->
|
|||
|
<P>
|
|||
|
Hi,
|
|||
|
<BR>
|
|||
|
<P> I've succeeded in dealing with the color data that the Fujitsu
|
|||
|
<BR>
|
|||
|
M3091 sends. In case anybody is interested (I suspect the Fujitsu is
|
|||
|
<BR>
|
|||
|
not then only scanner that does this) - it's quite straightforward:
|
|||
|
<BR>
|
|||
|
<P>"Normal" scanners usually send one row of R values, followed by one
|
|||
|
<BR>
|
|||
|
row of G values, and one row of B values. Let ppl be the number of
|
|||
|
<BR>
|
|||
|
pixels on the line and bpl the number of bytes per line (=ppl*3), you
|
|||
|
<BR>
|
|||
|
have to rearrange the buffer into this order:
|
|||
|
<BR>
|
|||
|
<P>buffer[0], buffer[ppl], buffer[2*ppl], /* the first RGB pixel */
|
|||
|
<BR>
|
|||
|
buffer[1], buffer[ppl+1], buffer[2*ppl+1], /* 2nd RGB pixel */
|
|||
|
<BR>
|
|||
|
...
|
|||
|
<BR>
|
|||
|
buffer[ppl-1], buffer[2*ppl-1], buffer[3*ppl-1], /* last pixel line 1 */
|
|||
|
<BR>
|
|||
|
buffer[bpl], buffer[bpl+ppl], buffer[bpl+2*ppl], /* first pixel line 2 */
|
|||
|
<BR>
|
|||
|
<P>and so on.
|
|||
|
<BR>
|
|||
|
<P>With the Fujitsu, you have to ADD 8*bpl to the "G" indices and 4*bpl
|
|||
|
<BR>
|
|||
|
to the "B" indices, i.e. you have to fetch those values from "further
|
|||
|
<BR>
|
|||
|
ahead" in the data stream, matching the physical lay-out of the
|
|||
|
<BR>
|
|||
|
sensors. (8 and 4 are the line offsets for 300 dpi. They have to be
|
|||
|
<BR>
|
|||
|
changed accordingly for 75 (2 and 1), 150 (4 and 2), or 600 (16 and 8)
|
|||
|
<BR>
|
|||
|
dpi, and these are the ONLY y-axis resolutions available in color
|
|||
|
<BR>
|
|||
|
mode.)
|
|||
|
<BR>
|
|||
|
<P>The "G" data of the first 8 lines is invalid, as are the "B" data of
|
|||
|
<BR>
|
|||
|
the first and last 4 and the "R" data of the last 8 lines of the full
|
|||
|
<BR>
|
|||
|
data stream.
|
|||
|
<BR>
|
|||
|
<P>The scanner will give you a data stream that has a larger number of
|
|||
|
<BR>
|
|||
|
lines than you requested, to accomodate for this overhead. If you request
|
|||
|
<BR>
|
|||
|
a scanning length of one inch at 300 dpi, you will get data for 308
|
|||
|
<BR>
|
|||
|
lines.
|
|||
|
<BR>
|
|||
|
<P>The only challenge when decoding this is that from each buffer block
|
|||
|
<BR>
|
|||
|
read, you have to retain the last 8 (at 300 dpi) lines of data and
|
|||
|
<BR>
|
|||
|
stick them onto the beginning of the buffer before you process the
|
|||
|
<BR>
|
|||
|
next chunk.
|
|||
|
<BR>
|
|||
|
<P>I've solved that and I'll now start playing with the duplex option.
|
|||
|
<BR>
|
|||
|
<P>A question on the side: As stated above, when scanning in color, only
|
|||
|
<BR>
|
|||
|
75, 150, 300 or 600 dpi are supported on the y-axis, while if you scan
|
|||
|
<BR>
|
|||
|
grayscale you can have any integral value from 50 to 600. The x-axis
|
|||
|
<BR>
|
|||
|
always supports any value from 50-300. Is there a way to inform the
|
|||
|
<BR>
|
|||
|
front-end of this, i.e. if mode==color, y-resolution is a list of four
|
|||
|
<BR>
|
|||
|
items while if mode==anything else, y-resolution is "slidable"? If
|
|||
|
<BR>
|
|||
|
not, how would you solve it - maybe introduce two properties, one
|
|||
|
<BR>
|
|||
|
called "y-resolution-color" and one "y-resolution-other"?
|
|||
|
<BR>
|
|||
|
<P>Bye
|
|||
|
<BR>
|
|||
|
Frederik
|
|||
|
<BR>
|
|||
|
<P><PRE>
|
|||
|
--
|
|||
|
Frederik Ramm ## eMail <A HREF="mailto:frederik@remote.org?Subject=Re:%20M3091%20color%20scheme%20success&In-Reply-To=<20010227232715.A14623@aruba.remote.org>">frederik@remote.org</A> ## N57<35>48.10' W005<30>40.32'
|
|||
|
<P><P>--
|
|||
|
Source code, list archive, and docs: <A HREF="http://www.mostang.com/sane/">http://www.mostang.com/sane/</A>
|
|||
|
To unsubscribe: echo unsubscribe sane-devel | mail <A HREF="mailto:majordomo@mostang.com?Subject=Re:%20M3091%20color%20scheme%20success&In-Reply-To=<20010227232715.A14623@aruba.remote.org>">majordomo@mostang.com</A>
|
|||
|
</PRE>
|
|||
|
<P><!-- body="end" -->
|
|||
|
<HR NOSHADE>
|
|||
|
<UL>
|
|||
|
<!-- next="start" -->
|
|||
|
<LI><STRONG>Next message:</STRONG> <A HREF="0247.html">Tom Martone: "Re: Writing Fujitsu M3091 backend"</A>
|
|||
|
<LI><STRONG>Previous message:</STRONG> <A HREF="0245.html">Mick Barry: "Re: Writing Fujitsu M3091 backend"</A>
|
|||
|
<!-- nextthread="start" -->
|
|||
|
<!-- reply="end" -->
|
|||
|
<LI><STRONG>Messages sorted by:</STRONG>
|
|||
|
<A HREF="date.html#246">[ date ]</A>
|
|||
|
<A HREF="index.html#246">[ thread ]</A>
|
|||
|
<A HREF="subject.html#246">[ subject ]</A>
|
|||
|
<A HREF="author.html#246">[ author ]</A>
|
|||
|
</UL>
|
|||
|
<!-- trailer="footer" -->
|
|||
|
<HR NOSHADE>
|
|||
|
<P>
|
|||
|
<SMALL>
|
|||
|
<EM>
|
|||
|
This archive was generated by <A HREF="http://www.hypermail.org/">hypermail 2b29</A>
|
|||
|
: <EM>Tue Feb 27 2001 - 15:12:54 PST</EM>
|
|||
|
</EM>
|
|||
|
</SMALL>
|
|||
|
</BODY>
|
|||
|
</HTML>
|