(2003.06.08/2006.05.12upd)
用 途 | プログラム名 | アーカイブ |
---|---|---|
ドライバ | USBSCAN | sane-1.0.13-Epson_USB_061.zip (tame100rc3.zipに同梱) |
メイン部 | sane | |
GUI部 | tame | tame100rc3.zip |
DLL | EMX | emxrt.zip(v0.9d) |
0.96で起きたトラブルについて:tameはsaneのscanimage.exeに適当なオプションを付けて呼び出しているのだが、そのオプションのうち「--source "Flatbed"」が私の環境では不適切だったようで、正常なスキャンができなかった。しかし、コマンドラインから直接、以下のように指定したら正常にスキャンした。 scanimage.exe -d usbscan$ -l 0 -t 0 -x 215 -y 297 --mode Binary --focus-position "Focus on glass" --resolution 150 --sharpness 0 --brightness 0 --format tiff > G:\TAME\Images\Image001.tif |
なお、この処理を実行する際には、画像の周囲に余白や黒枠を残してはいけない。おそらく、その画像に含まれる最も濃い色を黒に、最も薄い色を白に割り当てて色の濃淡を再配置していると思われるので、本物の黒や白が混じるとNormalizeの効果が薄れてしまう。
また、このtameからこの処理が可能なのは、取り込んだ直後の画像に限られる。ところが、この処理はかなりの確率で飛ぶ。そうなるとスキャンからやり直しだ。ということで、原理的には対処できるようになったが、実際の作業となると、領域指定の困難さも加わり、かなりの苦行となる。この問題を解決するには次項のようにコマンドラインを使う。
scanimage.exe -d usbscan$ -l 71 -t 79 -x 24 -y 36 --mode Color --source Transparency --film-type Negative --resolution 720 --format tiff > test.tif nconvert -normalize test.tif-lと-tがスキャンエリアの始点を指定するもの(単位はmm)。3コマ目以外のコマをスキャンするときは、ここを変更する。次の-xと-yが、画像の縦横の大きさを指定するもの(単位はmm)。35mmフィルムは36mm×24mmだが、フィルムフォルダーは縦長に置くので、縦横が逆になり24mm×36mmとなる。--resolutionは画像の解像度を指定する。720dpiだと1コマが約1000×約700ドットになる。
Normalize処理はnconvert.exeで行う。この処理は、指定したファイルに直接処理を実行するので注意。念のため、元ファイルはバックアップを取っておいた方が良いと思われる。
コマの間隔は意外に一定していない。流石にまともなカメラならば安定しているが、古い機種やコンパクトだとけっこうバラける。一応、1コマ=38mmのステップのようなので、nコマ目の-tパラメータは[3+38(n-1)]mmくらいが目安になるが、最終的には微調整が必要。たぶん、正確には37.9mmステップくらいじゃないかと思う。 |
![]() | @標準設定でスキャンしたネガフィルム。全体的に青くて白っぽい。直接このファイルを補正してまともな色を出すのはかなり困難。 |
![]() | A上記の画像@にノーマライズ(Normalize)を掛けたもの。色の濃淡はかなりまともになったが、青が強すぎる。ノーマライズはtameから実行することもできるが、コマンドラインのnconvert.exeを使う方が便利。 |
![]() | B画像ツールを使い、上記の画像Aに色補正を掛けたもの(PMViewで赤+19%、緑+3%、コントラスト+10%)。実際の色にかなり近くなった。 |
/* ポジ用連続スキャンスクリプト */ Do n=1 to 6 t=3+37.9*(n-1); nst=right('000'||n,4) 'scanimage.exe -d usbscan$ -l 71 -t' t '-x 24 -y 36 --mode Color --source Transparency --film-type Positive --resolution 400 --format tiff > test'||nst||'.tif' 'convert -gamma 1.8 -rotate 270 test'||nst||'.tif img'||nst||'.jpg' end;
/* フィルムスキャン (GT-9700F/tame) */ /* 2006.05.12 by Nogure, Ten */ Dan=1; /* スキャン対称の段(1/2) */ Kstart=2; /* スキャンを開始するコマ番号(1〜6) */ Kstop =5; /* スキャンを終了するコマ番号(1〜6) */ PN='N' /* ポジ/ネガ指定 P=posi、N=nega */ res=400 /* 解像度:400(preview)、720(〜XGA)、1600/2400/3200(hi-res)*/ dy=0; /* コマ駒位置補正:上に黒線+、下に黒線− */ dx=0; /* ★未実装★ 段位置補正*/ /*** パラメータ設定 ***/ p1=' -d usbscan$'; IF Dan=2 then p2=' -l 8'; else p2=' -l 71'; /* 1段目は71mm、2段目は8mm */ p3=' -x 24 -y 36'; /* 1コマのサイズ */ p4=' --mode Color'; p5=' --source Transparency'; /* 透過ユニット指定 */ IF PN='P' then p6=' --film-type Positive'; else p6='--film-type Negative'; p7=' --resolution '||res; p8=' --format tiff'; /*** Main loop ***/ Do n=Kstart to Kstop /* ファイル名生成 */ nst=right('00'||n,2) IF Dan=1 then nst='01'||nst; else nst='02'||nst; fname='scan'||nst||'.tif' SAY fname /* スキャン位置算出 */ t=4+37.9*(n-1)+dy; pt=' -t'||t; /* スキャンの実行とノーマライズ */ 'scanimage.exe' p1 p2 pt p3 p4 p5 p6 p7 p8 '>' fname '@copy' fname 'norm.tif' 'nconvert -normalize norm.tif' end; EXIT;