Scanner HOWTO mtekscan Jan Schoenepauck schoenep@uni-wuppertal.de 川岸良治 kawagishi@pa.aix.or.jp 1997/08/10 Revision History Revision 第 1 版 1997年8月10日 MicroTek 製 SCSI スキャナ ScanMaker 用ドライバ "mtekscan v0.2" 付属のド キュメントの翻訳 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents この文書について 1. mtekscan v0.2 に附属の README 1.1. はじめに 1.2. 著作権について 1.3. インストール 1.4. 他の MicroTek 製スキャナで mtekscan を使うには 1.5. SCSI の設定 1.6. バグ報告 1.7. 作者への連絡方法 1.8. ソース 2. mtekscan v0.2 に附属のマニュアル (ファイル名: mtekscan.1) 3. mtekscan v0.2 に附属の TODO 4. tkscan の紹介 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ この文書について "mtekscan" - MicroTek 製 SCSI スキャナ用ドライバ このドキュメントは Linux 上で MicroTek 製の SCSI スキャナ ScanMaker を 使用するためのドライバである mtekscan v0.2 に付属の下記の3つのドキュメ ントを作者 Jan Schoenepauck 氏の許可を得て翻訳したものです。 1. Linux Driver for MicroTek SCSI scanners Copyright (c) 1996, 1997 by Jan Schoenepauck / Fast Forward Productions 元のファイル名: README (mtekscan v0.2 に付属) ファイルの日付: Apr 14 1997 作者 : Jan Schoenepauck 2. mtekscan(1), mtekscan manual 元のファイル名: mtekscan.1 (mtekscan v0.2 に付属) ファイルの日付: Apr 14 1997 作者 : Jan Schoenepauck 3. Things I plan to add/improve/fix in future releases: 元のファイル名: TODO (mtekscan v0.2 に付属) ファイルの日付: Apr 14 1997 作者 : Jan Schoenepauck また、mtekscan を GUI で活用するソフトとして 4. tkscan の紹介 を加えました。これは私(川岸良治)が作成しました。 上記 (1)(2)(3)の日本語訳と(4)の著作権は川岸良治にあります。コピー、配布 などに関しては、以下に出てくるオリジナルの著作権表示の内容に準じます。 作成日 : 1997年8月10日 翻訳者 : 川岸 良治 (kawagishi@pa.aix.or.jp) 【訳注】ファイルの入手と展開 このソフトは下記から入手できます。 ・ ftp://sunsite.unc.edu/pub/Linux/apps/graphics/capture/ mtekscan-x.x.tar.gz これをダウンロードしたら次のようにして /usr/src/ ディレクトリに展開しま す。 ┌──────────────────────────────────┐ │ # cd /usr/src │ │ # tar xvfz ~/mtekscan-x.x.tar.gz │ └──────────────────────────────────┘ (上記は tkscan-x.x.tar.gz が、~/ ディレクトリにある場合ですが、それ以外 の時はそのディレクトリに合わせて変えて下さい) /usr/src/mtekscan-x.x/ デ ィレクトリが作られ、そこにファイルが展開されます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 1. mtekscan v0.2 に附属の README 1.1. はじめに このドライバは、Linux 上で MicroTek ScanMaker SCSI スキャナを使用できる ようにします。画像をスキャンし、標準出力(または指定したファイル)に PBM / PGM / PPM フォーマットで出力するためのシンプルなコマンドラインのプロ グラムです。 WINDOWS の TWAIN ドライバや、 Macintosh のスキャニング・プ ラグインのような flashy なグラフィカルインタフェース(私はこれで仕事して いますが)はありませんが、ちゃんと動作します。 出力に変換するために pbm パッケージを使用できます。例えば、GIF の画像フ ァイルを作成するには、次のようにします。 ┌──────────────────────────────────┐ │ mtekscan -f 0 0 2 2 -r 72 -c | ppmquant 256 | ppmtogif > scan.gif │ └──────────────────────────────────┘ あるいは、スキャンした画像を xv で直接表示するには下記のようにします。 ┌──────────────────────────────────┐ │ mtekscan -f 1 0 4.6 2.4 -r 150 -g | xv - │ └──────────────────────────────────┘ コマンドラインのオプションやスイッチの説明は、 man page をご覧下さい。 あるいは、 ┌──────────────────────────────────┐ │ mtekscan -h │ └──────────────────────────────────┘ でも良いです。 ┌──────────────────────────────────┐ │ これはベータ版のプログラムです │ ├──────────────────────────────────┤ │このプログラムの保証は全くありません。あなたのコンピュータやスキャナ│ │が爆発しても、あるいはあなたのシステムがクラッシュしても私は責任を持│ │ちません。開発中には、何回か私のシステムがクラッシュしましたが、現在│ │のところ "私のシステムでは" 安定して動いています。 │ │ │ │あなたが私と異なる設定、例えば異なる SCSI ホストアダプタ、異なるカー│ │ネル/ローレベルの SCSI ドライバ、あるいは異なるスキャナの場合、何が│ │起こるか予言することはできません。 │ │ │ │SCSI ハードウェアと通信するために使われるカーネル内の汎用 SCSIドライ│ │バは、誤操作への対策はされていません。 │ │ │ │誤りのあるプログラムは、カーネルのパニック [1] や silent lockup [2] │ │を引き起こす可能性があります。このプログラムはあなた自身の責任で御使│ │用ください。データを失うことのリスクを減らすために、ハードディスクの│ │バックアップをとるとか、少なくともプログラムをテストする前にハードデ│ │ィスクのキャッシュがディスクにフラッシュ(書き込み)されるように │ │'sync' を実行するというのは良い考えです。 │ │ │ │このプログラムは、Linux 1.2.13 と 2.0.26 が走る Pentium 100 マシンに│ │スキャナ附属の Adaptec AVA-1502E SCSI アダプタを使って ScanMaker E6 │ │を接続して開発しました。 │ │ │ │SCSI-HOWTO では言及していませんが AVA-1502E は、AHA152x ローレベルカ│ │ーネルドライバで動作します。 │ │ │ │(これが100%互換性があるかどうか確信はありませんが、私の経験では │ │もしそうでないとしても、少し変わったふるまいをする程度に過ぎないだろ│ │うと思います) 私のスキャナは SCSI チェーンの中で唯一のデバイスとして│ │接続され、しかも他に SCSI アダプタはインストールされていません。 │ │ │ │従って、SCSI バスの lockup やカーネルパニック、あるいはその類の問題 │ │が出た場合、可能ならばスキャナだけを唯一のデバイスとして接続してから│ │、このドライバを試してみて下さい。 │ └──────────────────────────────────┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2. 著作権について このプログラムは、Copyright (c) 1996, 1997 by Jan Schoenepauck です。無 料で使用、コピー、配布してかまいません。 これを変更したり、その一部を他のプログラムに使用することも、オリジナル の作者が私であることを記載してあれば、自由です。 今後のリリースのために役立つ変更をされた場合、私に教えて下さい。このプ ログラムを商用の配布に納める場合は、その旨を私に通知するとともにそのサ ンプルを私にお送り下さい。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3. インストール これは、カーネルレベルのドライバではありません。プログラムはユーザ領域 で動作し、SCSI ハードウェア(スキャナ)と通信するためにカーネルの中の汎用 SCSI ドライバを使用します。従ってこれを走らすためには、カーネルに汎用 SCSI ドライバサポートをコンパイルする必要があります。(当然 SCSI ホスト アダプタ用のローレベル SCSI ドライバも必要です) [3] スキャナがどのデバイスにマップされているかを知っておく必要があります。 (これは通常、/dev/sga, /dev/sgb ... /dev/sgh のどれかですが、/dev/sg0, /dev/sg1 ... のように呼ぶマシンも存在します) SCSI デバイスはブート時に 動的に割り当てられ、若い方から順に ID が使われます。スキャナが SCSI チ ェーンの中で唯一のデバイスならば、常に /dev/sga であり、どんな ID がセ ットされていても関係ありません。スキャナデバイスに symlink を作るのは良 い考えです。 (上記の例では /dev/sga に /dev/scanner のリンクを張る ) こ うすれば、デバイスのマッピングを変更(これはスキャナより若い ID の SCSI デバイスを追加接続した場合に起きます)したときに mtekscan を再コンパイル する必要はなく単にリンクを張り直すだけで済みます。これに付随する情報が これより後の「SCSI の設定」の項にあるのでご覧下さい。 コンパイルする前に、config.h ファイルを見て下さい。 DEFAULT_DEVICE に正 しい汎用 SCSI デバイス (あるいはシンボルリンクを張った場合は symlink) をセットして下さい。あなたが ScanMaker E6 をお持ちなら、たぶん他に設定 は必要ないでしょう。 (デフォルトのスキャンニングオプションを変更したい と思うでしょうが) しかしこれ以外の MicroTek 製スキャナでこのドライバを 試してみたい場合は、最大解像度の値の変更と、たぶん FIX_FRAMESIZE を 0 にセットする必要があるでしょう(スキャンした画像が間違ったサイズ、あるい は解像度だったらこの2つを試して下さい) これより後の「他の MicroTek 製 スキャナで mtekscan を使うには」の項を参照。 [4] config.h file の確認が終ったら、(必要に応じて) Makefile の先頭の設定を 編集します。インクルードファイルの sg.h にある汎用ドライバへのパスが正 しいことを確認して下さい。これは、古いカーネルの場合はたぶん /usr/src/ linux/drivers/scsi/ または kernel v1.3.98 では、 /usr/src/linux/include /scsi/ です。 (カーネルのソースのパスが /usr/src/linux である場合) 新しいカーネルバージョンでは /usr/include/scsi からリンクが存在する筈で すが、もし無いときは新たにそれを作る必要があります。この方法は、 Makefile のパスの面倒な設定をする必要がありません。これをどうやって行う のかご存知でない場合は、/usr/src/linux/README をご覧下さい。 [5] 最後に 'make' を実行します。 mtekscan を正しくインストールしたいなら root (スーパーユーザ)で ' make install' を実行します。これは実行ファイ ルと manpage を指定した場所にコピーします。 [6] それでは、スキャナデバイスがリード/ライト可能か、スキャナが接続されブ ート時に起動されるか(これはブートフェーズの期間中に検出されていなければ ならない)を確認して下さい。スキャナの応答を確認するために 'mtekscan -I' を実行して下さい。これらの点がすべてうまくいったら、これでスキャンでき る筈です。 mtekscan の多くのオプションとスキャナの設定について man ペー ジを読んで下さい。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4. 他の MicroTek 製スキャナで mtekscan を使うには このプログラムは ScanMaker E6 用に書かれ且つテストしましたが、基本的に 同じ SCSI プログラムインタフェースを持つ MicroTek の新しいスキャナのモ デルでも動作します。 mtekscan は、ScanMaker II,ScanMaker IIXE, ScanMaker IIHR, ScanMaker E3, ScanMaker III, ScanMaker 35t+ で (そしてもちろん E6 も) 動作したと報告 されています。また、 Adara ImageStar I (Adara は MicroTek となんらかの 関係があると思う) Genius ColorPage-SP2 (ScanMaker E3 と互換性があるよう にみえる) Primax Deskscan Color (これは基本的に ScanMaker II と同じマシ ンです) でも動作します。 もちろんサポートしているのは SCSI のスキャナのみです。異なるアダプタカ ードを介して接続されているスキャナは、全く動作しません。 透過原稿のスキャンニングも動作する筈ですが、私は透過原稿ユニットを持っ ていないのでこのテストはしていません。 ADF (Automatic Document Feeder: 自動給紙装置) のサポートもまだ対応していません。私はこれを持っていませ んが、ADF のサポートが必要なら私に連絡して下さい。但し、私に連絡する前 に、後述の「バグ報告」の項にどんな事が書かれているかを見て下さい。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5. SCSI の設定 汎用 SCSI カーネルドライバをコンパイルする前に、sg.h ファイルの SCSI_BIG_BUF の値として、少なくとも1スキャンライン分に含まれるデータよ りも充分大きい値 (これはスキャナの最大解像度に依存します)をセットするこ とを推奨します。私のカーネルソースは、これを 32768 にセットしていますが これで OK のようです。小さい値では、スキャナが非常に小さなかたまりでそ のデータを送信しなければならないので、スキャンがかなり遅くなります。 sg.h ファイルは、古いカーネルの場合はたぶん /usr/src/linux/drivers/scsi にあり、新しいバージョン (1.3.98 以上)のカーネルなら /usr/src/linux/ include/scsi にあるでしょう。 /usr/include/scsi から、カーネルソースの ディレクトリに相当するリンクが存在しなければなりません。 ホストアダプタ用のローレベルの SCSI カーネルドライバと、汎用 SCSIドライ バをモジュールとしてコンパイルするのは良い考えだと思います。そうすれば 古いカーネルをお使いの場合、ブートする前にスキャナの電源を ON しておか なくてもよいからです。(私はこれをよく忘れます...) ドライバモジュールを (ロードされていたなら)アンロードし、スキャナの電源を ON してから、ドラ イバモジュールをロードする必要があります。そうでなければ、スキャナの電 源を ON してから、リブートする必要があります。新しいカーネルは、/proc/ scsi/scsi の設定によって SCSI デバイスの動的な追加と取り外しの別の方法 をサポートし、且つデバイスマッピングの変更も可能であることに注意して下 さい。詳しくは、カーネルソースのドキュメント、SCSI-HOWTO, SCSI-Programming-HOWTO を参照して下さい。 Thomas Kuerten は、 Adaptec AHA-2940 カードにスキャナが接続されている場合、(ブート時に Alt-A を押し て表示されるメニューで)スキャナの SCSI ID用に最大転送速度は 5 MB/s で、 同期ネゴシエーションはディスエーブルにセットしなければならないと指摘し ています。おそらく、他のアダプタでもこのような設定が(出来るなら)必要で しょう。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6. バグ報告 mtekscan は、現在私のシステム(ScanMaker E6) で安定して動作していますが 、まだいくつかバグがあるかもしれません。特に私自身が使うことのできない プログラムの一部にです。すなわち、E6 以外の MicroTek スキャナ、3パスの 透過スキャンです。私には現時点ではフィックス出来ない既知のバグがいくつ かあり、これは manpage の BUGS の項に書いてあります。 私宛にメールを出す前に TODO ファイルにも目を通しておいて下さい。これに は、バグ、アイデア、改良点に関し私が既に気が付いていることが書いてあり ます。最後に、私は最新の変更と情報を Fast Forward の WEB サイトである http://fb4-1112.uni-muenster.de/ffwd/ の WWW のページで公開します。 もし何らかのバグを発見されたら私宛に E-mail を下さい。その際、お使いの スキャナのモデル、解像度、SCSI アダプタを教えて下さい。 mtekscan を -I スイッチを付けて実行した時に得られるスキャナ情報のコピーも必ず含めて下 さい。そして、何かをスキャン出来るが奇妙に見える場合は、それのコピー(も ちろんあまり大きすぎないサイズ、50x50 ピクセルの画像で充分でしょう)と、 あなたが使われたコマンドラインのスイッチも送って下さい -- これは何が悪 いのかを解析するのに非常に役立ちます。私はバグフィックスと改良の努力は しますが、"何も約束することはできません"。現在もまた将来のバージョンに 於いても、このドライバの動作は保証しません。 もちろん、アイデアや御意見は歓迎します。また、あなたがこのプログラムを 使われてハッピーであるという報告を聞くのは大好きです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7. 作者への連絡方法 ┌──────────────────────────────────┐ │ 通常の郵便: Jan Schoenepauck │ │ Magdalenenstr. 8 │ │ 48143 Muenster │ │ Germany │ │ │ │ 電子メール: schoenep@uni-wuppertal.de │ └──────────────────────────────────┘ 私たちのプロジェクトの最新情報とアップデートに関しては Fast Forward の WWW サイト http://fb4-1112.uni-muenster.de/ffwd/ をチェックして下さい。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8. ソース このプログラムは、下記のソースを参照しました。 ・ SCSI-Programming-HOWTO ( by Heiko Eissfeldt ) ・ The MicroTek SCSI Image Scanner Programmer's Reference ( MicroTek の Warren Early さんの援助に感謝します) ・ Torsten Eichner さんの muscan のドライバプログラムから、その一部を もってきました。 Warwick Allison, Wolfgang Wander, Itai Nahshon, そしてこのプログラムを テストしレポート、コメント、バグフィックス、パッチ、ハードウェア情報を お送り頂いた多くの皆さんに感謝します。これらの全ての皆さんに多いに助け て頂きました。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 2. mtekscan v0.2 に附属のマニュアル (ファイル名: mtekscan.1) mtekscan(1) mtekscan manual ============================================================================== NAME mtekscan - driver for MicroTek SCSI scanners SYNOPSIS (概要) mtekscan [options] 説明 mtekscan は、MicroTek SCSI スキャナを Linux 上で使用出来るようにするた めのドライバです。画像をスキャンし、標準出力(または指定したファイル)に 出力するためのコマンドラインのユーティリティです。オリジナルは、 MicroTek ScanMaker E6 用に開発されましたが、他の MicroTek SCSI スキャ ナでも動作することが確認されています。 今までのところ下記の機種でテストされ動作しています。 ScanMaker II, ScanMaker III, ScanMaker E3, ScanMaker 35t+, ScanMaker E6, Adara ImageStar I, Genius ColorPage-SP2, Primax DeskScan Color. オプション 全てのオプションと引数は、スペースで分離しなければなりません。 '-cpVt' のように結合したオプションの指定はできません。 同じコマンドライン上に互いに排他的なオプション (例えば '-c -g' のよう な)が指定されると、最後のオプションが前のオプションを上書きします。 (-T と -G オプションに関しては明示的に指定するのでなければ。下記参照) スキャナのモデルによっては、いくつかのオプションは使えないものがあるの で注意して下さい。 -o これが指定されると mtekscan は標準出力の代わりに に出力 します。 -f スキャンするフレームを、左上 , と右下 , の長方 形であると定義します。座標はインチで計測され、原点はスキャンエ リアの左上の角です。 -r スキャンの解像度を dpi で設定します。 MicroTek のスキャナは、解像度を最大値の 1% または 5% きざみで 設定できるので、最適な値を選択できます。 -b ラインアート(黒と白)のスキャンを選択します。 -a ハーフトーンのスキャンを選択します。原稿は -H オプションで選択 可能なハーフトーンのパターンを使ってディザ処理されます。 -g グレースケールのスキャンを選択します。 -c カラーのスキャンを選択します。 -s シャドウ調整の値(黒レベル)を で設定します。 は 0から255 までの10進数です。 この値と同じかそれ以下の全てのピクセル値は 0にセットされ、残っ た値が 0から255 の範囲にマッピングされます。 このオプションは、マルチビット・スキャンモード(カラーまたはグ レースケール)の場合のみ動作します。デフォルト値は、0です。 -l ハイライト調整の値(白レベル)を で設定します。 は 0から255 までの10進数です。 この値と同じかそれ以上の全てのピクセル値は 255にセットされ、 残った値が 0から255 の範囲にマッピングされます。 このオプションは、マルチビット・スキャンモード(カラーまたはグ レースケール)の場合のみ動作します。デフォルト値は、255です。 -m 中間調の調整値を で設定します。 は 0から255 までの10進数です。 と同じかそれ以上の全てのピクセル値は 128から255の範囲にマ ッピングされ、 以下の全てのピクセル値は 0から 127 の範囲に マッピングされます。 このオプションは、マルチビット・スキャンモード(カラーまたはグ レースケール)の場合のみ動作します。デフォルト値は、128です。 -d [ ] デジタル輝度調整値を で選択します。 は -100 から 100 までの範囲の10進数です。 このオプションの次に数値が1つだけ指定された場合は全般的な輝 度を決定します。3つの値が指定された場合は赤、緑、青のチャネ ル輝度調整を個別に決定します。 デフォルト値は、0です。 -e 露光時間の調整(アナログ輝度調整)を で設定します。 は、通常 -18 から 21 までの範囲の10進数です。 (これより高い値を受け付けるスキャナモデルもあります) この値は、3の倍数でなければならないことに注意して下さい。 そうでない場合は、最も近い値が選択されます。 デフォルト値は、0です。 -k コントラストの調整を で設定します。 は、通常 -42 から 49 までの範囲の10進数です。 (これより高い値を受け付けるスキャナモデルもあります) この値は、7の倍数でなければならないことに注意して下さい。 そうでない場合は、最も近い値が選択されます。 デフォルト値は、0です。 -G [ ] ガンマ補正を で設定します。 -G の後に、数値が1つだけ指定された場合は全般的なガンマ補正値で 3つの値が指定された場合は赤、緑、青のチャネルのガンマを個別に 決定します。 デフォルト値は、3つのチャネル全てが 1.0です。 【訳注】 ガンマ補正とは、輝度レベルの入力と出力の関係を設定するもの です。 1.0 は入力と出力の関係が直線的で 1.01 〜 4.99 だとハーフトーン(中間調)が明るく 0.99 〜 0.01 だと暗くなります。 -T ガンマ補正テーブルを からロードします。 これを指定すると、-G オプションで指定したガンマの設定は全て上 書きされます。コマンドラインで -G の前に -T オプションが指定さ れた場合でも、です。 デフォルトでは、ファイルから補正テーブルをロードしません。 -t 透過原稿ユニットがインストールされているときに、透過スキャンニ ングを選択します。 -n ネガティブスキャンニング(リバースカラー:陰画)を選択します。 -H 組み込み済みのハーフトーンのパターン を選択します。 は、0 から 11 までの範囲の10進数です。 ハーフトーンのパターンは、中間調の画像をスキャンする (-a オプ ション)際に画像をどのようにディザ処理するかを定義します。 -p プリスキャンモードをイネーブルにします。結果は速く得られます が精密さに欠けます。 -v スキャン速度を で設定します。 は、1 から 7 までの範囲の10進数です。(大きい値ほどスキャ ン時間が長くなります) 分割スキャンが必要な場合、大きい値を設定 するほど高画質になります。(下記の -B オプションを参照のこと) デフォルト値は 1(最も高速)です。 -B スキャンセグメント間のバックトラッキングを禁止します。 汎用 SCSI ドライバの転送バッファが小さすぎる場合、スキャン処理 はいくつかのステップ、またはセグメントに分けられます。 通常、スキャンヘッドは新しいセグメントを開始する前にわずかに後 方に移動します。このスイッチを指定すると、これを禁止できます。 結果は速く得られますが、精密さに欠けます。 -C スキャンの開始時の再調整を禁止します。これはスキャン時間が短く なりますが画質は少し落ちます。 このオプションを指定すると、スキャナが少なくとも一度も自分自身 でキャリブレートしなかった場合、(例えばスキャナが電源 ON した ばかりの時) SCSI バスの lock-up を起こすことに注意して下さい。 このオプションを使われる前に、少なくとも一度はスキャンしておか なければなりません。 -P '-p -C' と同じです。(上をご覧下さい) -V 冗長モードです。スキャナの設定と動作中の情報が標準出力に書き込 まれます。 -i スキャナによってサポートされているオプションを短いフォーマット で表示します。最初の値は、原稿サイズと解像度の最大値、および受 け入れ可能なコントラストと露光時間の値です。続いて、スキャナに よってサポートされているオプションの文字のリストです。 この情報は、グラフィカル・スキャンニング・フロントエンドで使用 するために提供されます。 -I スキャナ内部のデータを長い、人が解読可能なフォーマットで表示し ます。 -S スキャナのハードウェアのセルフテストをしてから、終了します。 -h mtekscan が受け付けることのできるコマンドライン・オプションの リストを表示します。 バグ mtekscan は、カーネルパニック、システムクラッシュ、SCSI バスのロックア ップ、その他色々の不快なことを本当に起こす可能性があります。 -d オプションの輝度調整で負の値を設定すると、少なくとも ScanMaker E6 では、奇妙な(そして明らかに悪い)結果を招きます。 輝度調整で赤、緑、青のチャネルを異なる値に設定すると、希望した結果には なりません、しかし全般的な輝度には作用します。 (再度言いますが、少なくともScanMaker E6 では、です) そして、たぶん 1000 以上のバグがあると思います。 作者 mtekscan は、Copyright (C) 1996, 1997 by Jan Schoenepauck, です。 プログラムのいくつかのパーツは、Torsten Eichner による Mustek スキャナ用の muscan ドライバか ら持ってきました。 3パス・スキャナのサポートは、Warwick Allison によるパッチにほとんど依存しています。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 3. mtekscan v0.2 に附属の TODO 今後のリリースで、追加/改良/フィックスしたいこと: ・ 8bpp 以外 (4/10/12 bpp)のマルチビットフォーマットのサポート 【訳注】: 8bpp は、8 bits per pixel 即ち、256色。 4bpp は、16 色。10 bpp は、1024 色。12 bpp は、4096 色。 ・ スキャンフレームと原稿長の単位をインチ以外 (cm, mm, point, pixel)も 使えるような仕様にする ・ 内部フレームサイズの設定単位としてピクセルをサポートする (スキャン フレームの仕様は、現在あまり精密ではなく、特に FIX_FRAMESIZE は 1 にセットする必要がある) ・ ADF (automatic document feeder:自動給紙装置) のサポートを追加する ・ ユーザ定義のハーフトーンパターンのダウンロードをサポートする ・ R, G, B の各チャネル毎に、異なるコントラスト/露出時間/シャドウ/ 中間調/ハイライト/輝度の設定をできるようにする ・ デジタル輝度調整に負の値を設定すると非常に奇妙な結果になる ・ コマンドラインスイッチで、オプションファイルの指定をできるようにす る ・ 先にキャリブレーションせずにスキャンしたとき SCSI バスがロックアッ プするのをフィックスする。 (不可能なら、ダミースキャンするスイッチ を付加する。即ち強制的にキャリブレーションさせるために、即時 START SCAN し、続いて STOP SCAN する) ・ スキャナデバイスの自動検出を付加する(たぶん、/proc/scsi/scsi を通し て) ・ ネガティブスキャン用の "-n" スイッチのフィックスにトライする。( 35t では動作しない) (現在は INVERT_USING_GAMMA オプションでできる) ・ lut_download() 関数の戻り値をチェックする ・ E6 では、青の値が正しくない ・ ソフトウェア補間/推論、特に拡張解像度スキャンを追加する (このモー ドでは垂直方向に画像の伸長処理をする) ・ ガンマテーブルのファイルを作るためのシンプルなツールを作る:スキャ ナと共に供給されるテスト画像で使用されるキャリブレーションツールに なるかもしれない(遠い、遠い先のこと...) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 4. tkscan の紹介 mtekscan ドライバはコマンドラインのプログラムですが、これを GUI で動作 させるための TkScan というプログラムがあります。作者は、Hang-Bae Kim (hbkim@delta.ft.uam.es) です。 TkScan は、コマンドライン・スキャナドライバ用の tcl/tk GUI です。現時点 のバージョン 0.8 (7,Jun,97) では以下のものをサポートしています。 ・ `ep_scan' を使用した Epson SCSI スキャナ ・ `hpscanpbm' を使用した HP SCSI スキャナ ・ `mtekscan' を使用した Microtek SCSI スキャナ ・ `scanimage'(SANE) か `mscan' を使用した Mustek フラットベッドスキャ ナ TkScan では、以下のようなことが出来ます。 ・ スキャンする画像を小さなキャンバス(サイズとモードを選択)上でプレビ ューする。 ・ スキャナとドライバによってサポートされているスキャンモード/解像度 /その他のオプションを、マウスクリックで調整する。 ・ プレビュー画像のキャンバス上でスキャンする範囲を1つまたは複数選択 する。スキャンエリアを複数選択すると TkScan はそれらを上手にスキャ ンします。 TkScan は、希望する画面ピクセルと、画像の生データサイズ をいくつかの長さの単位 (mm,cm,pt,inch)で真の長さと同様に表示します 。 ・ 生データを希望するところにダイレクトに出力します。 □ 画像エディタ (XV, ImageMagic, GIMP)に出力 □ 指定したフォーマットでファイルに出力 □ サイズと位置を調整して postscript フォーマットのプリンタまたは ghostscript(ghostview, gv)に出力 □ ファックス送信用として直接ファックスモデムに出力 □ OCR 処理をするために OCR ソフトに出力 (このバージョンではまだ実 装していません) ・ スキャンの進行度合を、グラフィック、パーセントの数字、ファイルサイ ズで表示します。 ・ ストップボタンでスキャンを中止できます。 ・ 好みに応じた TkScan の設定ができます。 私は、mtekscan と TkScan を併用していますが、やはり GUI だと使い勝手が かなり向上します。mtekscan が動作することが確認できたら、次にこの TkScan も試してみることをお勧めします。 私は、この TkScan のドキュメントも Scanner-HOWTO-tkscan として翻訳し ました。入手先、インストール方法も書いてありますので御参照下さい。 なお、このバージョン 0.8 の中の Microtek mtekscan 用プログラムにはバグ がありそのままでは動作しませんが、対策方法も Scanner-HOWTO-tkscan に書 きました。おそらく、これ以降のバージョンでは修正され、そのままで動作す るようになるだろうと思われます。 ┌──────────────────────────────────┐ │===================================================== │ │ Ryoji Kawagishi E-Mail: kawagishi@pa.aix.or.jp │ │ KFA02544@niftyserve.or.jp │ │===================================================== │ └──────────────────────────────────┘ (sgml conversion, y.senda, ysenda@pop01.odn.ne.jp, 2001/09) Notes [1] 【訳注1】カーネルパニックについては、JF の SCSI-HOWTO を panic で検索し「3.2 panic ()の位置を特定する」 とか、「5.2.4.「kernel panic : cannot mount root device」というメッセージが出る」 をご覧下さい [2] 【訳注2】ロックアップについては、JF の SCSI-HOWTO の「2.8 SCSI システムがロッ クアップする」 を ご覧下さい。 [3] 【訳注】 ・ mtekscan をインストールする前に SCSI ホストアダプタの設定を済ませて おく必要があります。下記のようになっている必要があります。これは、 make config / make menuconfig / make xconfig の何れかで (make xconfig がお勧め)、次のようにして確認します。 root でログイン ┌───────────────────────────────────┐ │ # cd /usr/src/linux │ │ # make xconfig │ │ (SCSI support で下記のようになっていることを確認する) │ │ SCSI support Y │ │ SCSI generic support Y (汎用 SCSI ドライバのサポート) │ │ SCSI low-level drivers (御使用の SCSI カード用ドライバを指定) │ └───────────────────────────────────┘ ・ 上記のようになってない場合は、そのように修正後、以下のようにしてカ ーネルを再構築します。かなり時間がかかります。 ┌─────────────────────────────┐ │ # make dup ; make clean │ │ # make zlilo │ │ # make modules ; make modules_install │ └─────────────────────────────┘ 正常に終了したら Linux をリブートし、ブートメッセージで SCSI が組み込ま れたことを確認し、同時にデバイス名(下記参照)も確認します。正常終了 しない場合は、JF の Kernel-HOWTO や SCSI-HOWTO をご覧下さい。 [4] 【訳注】 config.h ファイルには、コメントで各機種ごとの修正方法が書いてあるのでそ れに従って変更して下さい。私は、ScanMaker E3 用に下記のように修正しまし た。 ┌───────────────────────────────────┐ │ #define DEFAULT_DEVICE "/dev/sga" (これはデフォルトのまま) │ │ #define FIX_FRAMESIZE 0 │ │ #define VENDOR_STRING " " (8 個のスペースです) │ │ #define MAX_BASE_RESOLUTION 300 │ └───────────────────────────────────┘ [5] 【訳注】 私の場合、カーネルは 2.0.28 ですが /usr/src/linux/include/scsi/ の下に sg.h があり、 /usr/src/mtekscan-x0.2/Makefile の先頭も SG_INCLUDE_PATH = /usr/src/linux/include/scsi/ となっているので何もせずそのままです。 なお「新しいカーネルバージョンでは〜」以降の意味がよく分かりません。 / usr/include/ ディレクトリの下には、scsi という名前のものは無くどうした ものか?と思ったのですが、結局何もせず先に進んだのですがちゃんとスキャ ナは動作しました。 [6] 【訳注】 ┌─────────────────────────────────┐ │ # make │ │ # make install │ └─────────────────────────────────┘ と入力するとデフォルトでは /usr/local/bin に実行ファイルが、/usr/local/ man にマニュアルが、それぞれコピーされます。