その他雑多なこと(tDiary版)
2012/01/31 [火] [長年日記]
_ [PC][自炊] コラムページテキスト2値化フィルタ
GIMP2.6.11向けにscript-fuで作成。写真とテキストが配置されているページでテキスト部分は2値化して、写真部分はそのまま残す。
写真部分の判定は2値化して黒くなった部分が多いところを写真と判定している。写真と判定された部分はFuzzy選択して選択部分に外接する矩形として処理。写真部分の判定で細かく領域選択して領域内の黒の割合を見ているので、時間がかかるのが難点。また、白っぽいところも写真と判定されない。
BWthreshold:2値化するときの閾値
check-step:写真判定用の領域サイズ(pixel)
flame-size:周りの余白部分のサイズ(pixel)白で塗りつぶす
(define (docscan-file-text-enhance filename bw_threshold check-step flame)
(let* (
(outfilename (string-append filename ".png"))
(xcffilename (string-append filename ".xcf"))
(img (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(layer (car (gimp-image-get-active-layer img)))
)
(docscan-text-enhance img bw_threshold check-step flame)
(gimp-xcf-save 0 img layer xcffilename xcffilename)
(set! layer (car (gimp-image-merge-visible-layers img CLIP-TO-BOTTOM-LAYER)))
(file-png-save-defaults RUN-NONINTERACTIVE img layer outfilename outfilename)
)
)
(script-fu-register
"docscan-file-text-enhance"
"/Xtns/DocScan/file-text-enhance..."
"load file, Picture->no process Text->Black and White"
"Kazunori Takeuchi "
"Kazunori Takeuchi"
"2012-01-11"
""
SF-FILENAME "filename" "t0001.bmp"
SF-ADJUSTMENT "BWthreshold" '(192 0 255 1 8 0 SF-SPINNER)
SF-VALUE "check-step" "50"
SF-VALUE "flame-size" "20"
)
(define (docscan-cut-largeblack img white-layer check-x check-y check-step)
(let* (
(hist 0)
(none 0)
(wariai 0)
)
(gimp-rect-select img check-x check-y check-step check-step CHANNEL-OP-REPLACE TRUE 0)
(set! hist (cdr (gimp-histogram white-layer HISTOGRAM-VALUE 223 255)))
(set! none (car hist)) ; mean
(set! hist (cdr hist))
(set! none (car hist)) ; std-dev
(set! hist (cdr hist))
(set! none (car hist)) ; median
(set! hist (cdr hist))
(set! none (car hist)) ; pixels
(set! hist (cdr hist))
(set! none (car hist)) ; count
(set! wariai (car hist)) ; percentile
(if (= wariai 0)
(begin
(gimp-fuzzy-select white-layer (+ check-x (/ check-step 2)) (+ check-y (/ check-step 2)) 0 CHANNEL-OP-REPLACE FALSE FALSE 0 TRUE)
(let*
(
(bounds (cdr (gimp-selection-bounds img)))
(x1 (car bounds))
(bounds (cdr bounds))
(y1 (car bounds))
(bounds (cdr bounds))
(x2 (car bounds))
(bounds (cdr bounds))
(y2 (car bounds))
)
(gimp-rect-select img x1 y1 (- x2 x1) (- y2 y1) CHANNEL-OP-ADD FALSE 0)
(gimp-edit-fill white-layer BACKGROUND-FILL)
(gimp-edit-cut white-layer)
)
)
)
)
)
(define (docscan-text-enhance img bw_threshold check-step flame)
(gimp-palette-set-foreground `(0 0 0))
(gimp-palette-set-background `(255 255 255))
(let* (
(layer (car (gimp-image-get-active-layer img)))
(white-layer layer)
(layer-height (car (gimp-drawable-height layer)))
(layer-width (car (gimp-drawable-width layer)))
(check-x 0)
(check-y 0)
)
;真っ白レイヤー作成
(set! white-layer (car (gimp-layer-copy layer 1)))
(gimp-image-add-layer img white-layer -1)
(gimp-drawable-set-visible layer FALSE)
;真っ白レイヤー、正規化/2値化
(gimp-selection-all img)
(gimp-levels-stretch white-layer)
(gimp-threshold white-layer bw_threshold 255)
;枠、余白、白塗りつぶし
(docscan-flame-clear img flame)
;写真部分透明化
(set! check-x 0)
(while (<= check-x layer-width)
(set! check-y 0)
(while (<= check-y layer-height)
(docscan-cut-largeblack img white-layer check-x check-y check-step)
(set! check-y (+ check-y check-step))
)
(set! check-x (+ check-x check-step))
)
(gimp-selection-all img)
(gimp-drawable-set-visible layer TRUE)
)
)
(script-fu-register
"docscan-text-enhance"
"/Xtns/DocScan/text-enhance..."
"Picture->no process Text->Black and White"
"Kazunori Takeuchi "
"Kazunori Takeuchi"
"2012-01-11"
""
SF-IMAGE "Image" 0
SF-ADJUSTMENT "BWthreshold" '(192 0 255 1 8 0 SF-SPINNER)
SF-VALUE "check-step" "50"
SF-VALUE "flame-size" "20"
)
(define (docscan-flame-clear img check)
(let* (
(draw (car (gimp-image-get-active-layer img)))
(layer-height (car (gimp-drawable-height draw)))
(layer-width (car (gimp-drawable-width draw)))
)
;裏当て除去
(gimp-rect-select img check check (- layer-width (+ check check)) (- layer-height (+ check check)) CHANNEL-OP-REPLACE FALSE 0)
(gimp-selection-invert img)
(gimp-edit-fill draw BACKGROUND-FILL)
(gimp-displays-flush)
(gimp-selection-all img)
;余白選択
(gimp-fuzzy-select draw (+ check check) (+ check check) 15 CHANNEL-OP-REPLACE FALSE FALSE 0 TRUE)
;ゴミ除去
(gimp-selection-invert img)
(gimp-selection-shrink img 1)
(gimp-selection-grow img 1)
(gimp-displays-flush)
(let* (
(bounds (cdr (gimp-selection-bounds img)))
(x1 (car bounds))
(bounds (cdr bounds))
(y1 (car bounds))
(bounds (cdr bounds))
(x2 (car bounds))
(bounds (cdr bounds))
(y2 (car bounds))
)
(gimp-rect-select img x1 y1 (- x2 x1) (- y2 y1) CHANNEL-OP-REPLACE FALSE 0)
)
(gimp-selection-invert img)
(gimp-edit-fill draw BACKGROUND-FILL)
)
(gimp-displays-flush)
)
(script-fu-register
"docscan-flame-clear"
"/Xtns/DocScan/flame-clear..."
"scan image flame clear"
"Kazunori Takeuchi "
"Kazunori Takeuchi"
"2012-01-11"
""
SF-IMAGE "Image" 0
; SF-IMAGE "Drawable" 0
SF-VALUE "check-step" "20"
) [ツッコミを入れる]
本日のリンク元
その他のリンク元
- http://synthroid1.com/ ×5807
- http://tadalafil2.com/ ×3763
- http://lasix100.com/ ×3669
- http://amoxicillin500.com/ ×3611
- http://doxycycline1.com/ ×3560
- http://tadalafil20tab.com/ ×3286
- http://tadalafil100.com/ ×2209
- http://retina0.com/ ×2148
- http://zithromaxazithromycin.com/ ×2143
- http://lisinopril40.com/ ×1568
- http://valtrex1.com/ ×1389
- http://prednisone0.com/ ×1149
- http://clomid2.com/ ×1095
- http://albendazoletablets.com ×486
- http://valtrexcost.com ×428
- http://tadalafil40.com ×401
- http://prednisolone40.com ×396
- http://prednisolone40.com/ ×390
- http://albendazoletablets.com/ ×369
- http://albuterol100.com/ ×363
- http://ventolin90.com ×348
- http://amoxicillin8.com ×343
- http://lisinopril20.com ×336
- http://lasix40.com ×334
- http://prednisolone5.com ×324
- http://doxycycline100.com ×314
- http://prednisone2.com ×164
- http://albuterolhf.com ×149
- http://propecia5.com ×140
- http://synthroidlevothyroxine.com ×137
- http://bupropionsr.com/ ×131
- http://valtrexcost.com/ ×114
- http://cialis5.com ×63
- http://zoloft50.com ×62
- http://ataraxgeneric.com ×60
- http://prednisolone10.com ×58
- http://stromectol3.com ×56
- http://busparonline.com ×56
- http://buyciproonline.com ×53
- http://atenolol50mg.com ×51
- http://amoxicillinwithoutprescription.com ×51
- http://advairinhalers.com ×44
- http://vardenafil20.com ×37
- http://valtrexrx.com ×34
- http://tetracycline500.com ×33
- http://diflucan150.com ×32
- http://xenicalcapsules.com ×31
- http://zithromaxazithromycin.com ×29
- http://albuterolhf.com/ ×27
- http://albuterol90.com ×26
- http://retina01.com ×25
- http://nolvadexd.com ×24
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×9
- http://mixi.jp/ ×7
- https://www.google.co.jp/ ×6
- https://www.google.com/ ×6
- http://tadalafil40.com/ ×5
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×4
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×3
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×3
- http://www.cosmichorror.org/sfdiary/ ×3
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×2
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×2
- http://www.baidu.com/s?wd=though491 ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://www.routan.org ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- https://google.com/ ×1
- http://mixi.jp/home.pl?from=h_logo ×1
- http://ventolin90.com/ ×1
- http://search.m.infoseek.co.jp/search?query=血液検査 ピ... ×1
- http://mser.cocacola.co.jp/?ktr_sid=5ff07ca300f1b1... ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- https://www.google.co.jp ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://nolvadexd.com/ ×1
- http://m.mixi.jp/bridge.pl?type=external&url=http:... ×1
- http://mixi.jp/home.pl?from=global ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://www.netvibes.com/accutane ×1
- http://lisinopril20.com/ ×1
- http://www.archive.org/details/benjaminwhee ×1
- http://search.babylon.com/?s=web&babsrc=HP_ss&q=自炊... ×1
- http://search.aol.com/aol/search?v_t=comsearch50&q... ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://mixi.jp/view_diary.pl?url=http://kazunori.s... ×1
- http://doxycycline100.com/ ×1
- http://d.hatena.ne.jp/FukayaAruto/20060920/p2 ×1
- http://ruby.g.hatena.ne.jp/garyo/20070507/11785013... ×1
検索
- キーワード不明 ×34 : .comのGoogle検索 ×6, .co.jpのGoogle検索 ×3, .co.jpのGoogle検索 ×2, .co.jpのGoogle検索 ×2, .comのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1, .co.jpのGoogle検索 ×1
- ムコスタ錠 ×5 : .co.jpのYahoo!検索 ×2, .co.jpのYahoo!検索 ×1, .co.jpのYahoo!検索 ×1, .co.jpのYahoo!検索 ×1
- libFNP_events.log ×3 : .co.jpのGoogleのURL検索? ×1, .co.jpのGoogleのURL検索? ×1, .co.jpのGoogleのURL検索? ×1
- PL配合顆粒 ×3 : .co.jpのYahoo!検索
- jal varicon ×2 : .co.jpのGoogleのURL検索? ×1, .co.jpのGoogleのURL検索? ×1
- PL配合 ×2 : .co.jpのYahoo!検索 ×1, .co.jpのYahoo!検索 ×1
- RD Err-14 ×2 : .comのGoogle検索
- gimp2 二値化 スクリプト ×2 : .co.jpのGoogleのURL検索?
- "本体カバーを側面を広げるようにしつつまっすぐ上に持ち上げるようにして外す" ×2 : .co.jpのGoogleのURL検索?
- クラビット錠 ×2 : .co.jpのYahoo!検索
- 血色素量 ×2 : .co.jpのYahoo!検索
- 鼻炎薬 ×2 : .co.jpのYahoo!検索
- フルメトロン ×2 : .co.jpのYahoo!検索 ×1, .co.jpのYahoo!検索 ×1
- ユーザープロファイルを読み込めません ×2 : .co.jpのYahoo!検索
- タニタ err6 ×2 : .co.jpのGoogleのURL検索? ×1, .co.jpのYahoo!検索 ×1
- γGPT ×2 : .co.jpのYahoo!検索
- ひかり早得 ×1 : .co.jpのYahoo!検索
- 終電座 ×1 : .co.jpのYahoo!検索
- gimpで正規化にかかる時間 ×1 : .co.jpのYahoo!検索
- dvr-ieh2 分解 ×1 : .co.jpのYahoo!検索
- スロット メモ ×1 : .co.jpのYahoo!検索
- 一斉有給休暇 ×1 : .co.jpのYahoo!検索
- gimp 余白 白く 塗る ×1 : .co.jpのGoogleのURL検索?
- a-bike km ×1 : .co.jpのGoogleのURL検索?
- SF-FILENAME スクリプト ×1 : .co.jpのGoogle検索
- fi-4530c windows7 ×1 : .co.jpのGoogleのURL検索?
- WAPキー ×1 : .co.jpのYahoo!検索
- いぼの治療 ×1 : .co.jpのYahoo!検索
- ノートン 再インストール 認証 ×1 : .co.jpのYahoo!検索
- 白血球像 ×1 : .co.jpのYahoo!検索
- zaurus tdiary ×1 : .co.jpのGoogle検索
- 結膜下出血 献血 ×1 : .co.jpのGoogle検索
- DVD-R チェック ×1 : .co.jpのYahoo!検索
- error D8045 ×1 : .co.jpのYahoo!検索
- トランサミンカプセル ×1 : .co.jpのYahoo!検索
- ボクハキミガスキ 小説 ×1 : .co.jpのGoogle検索
- 休止状態 電源 ×1 : .co.jpのYahoo!検索
- 山手線切符 ×1 : .co.jpのYahoo!検索
- 大泉学園 駅ビル ×1 : .co.jpのYahoo!検索
- 竹内ブリーダー ×1 : .co.jpのYahoo!検索
- gimp 二値化 割合 ×1 : .comのGoogleのURL検索?
- 献血 ポイント ×1 : .co.jpのYahoo!検索
- γGPT ×1 : .co.jpのYahoo!検索
- 第3種郵便 ×1 : .co.jpのYahoo!検索
- 歯の歯石とり ×1 : .co.jpのYahoo!検索
- script-fu gimp-selection-fuzzy ×1 : .co.jpのGoogle検索
- gimp channel-op-add ×1 : .co.jpのGoogleのURL検索?
- /clr オプションと共にコンパイルできません 2003 ×1 : .co.jpのGoogleのURL検索?
- cl : コマンド ライン error d8045 : c ファイル を /clr オプションと共にコンパイルできません ×1 : .co.jpのGoogleのURL検索?
- ルリコンクリーム ×1 : .co.jpのYahoo!検索
- GIMP 2値化 パーセント ×1 : .co.jpのYahoo!検索
- gimp 二値化 スクリプト ×1 : .co.jpのGoogleのURL検索?
- "C ファイル" "/clr オプションと共に" ×1 : .comのGoogle検索
- ロブとムコスタ ×1 : .co.jpのYahoo!検索
- 意味なしアリス バックコーラス ×1 : .co.jpのYahoo!検索
- GIMP SF-VALUE ×1 : .comのGoogleのURL検索?
- file-png-save-defaults ×1 : .co.jpのYahoo!検索
- "optiplex960" "無線LAN" ×1 : .co.jpのGoogleのURL検索?
- 谷山浩子 土曜日のタマネギ ×1 : .co.jpのYahoo!検索
- ムコスタ錠100mg ×1 : .co.jpのYahoo!検索
- 脚がだるい ×1 : .co.jpのYahoo!検索
- zeta yellowtab download 1.2.1 ×1 : .itのGoogleのURL検索?
- gimp-xcf-save スクリプト ×1 : .co.jpのYahoo!検索
- HDD 破損 ×1 : .co.jpのYahoo!検索
- rd-x2 分解 ×1 : .co.jpのGoogle検索
- 熱が出てきた ×1 : .co.jpのYahoo!検索
- script-fu gimp_drawable_set_visible ×1 : .co.jpのGoogle検索
- 膚 読み方 ×1 : .co.jpのYahoo!検索
- wm3500rアップデート ×1 : .co.jpのYahoo!検索
- ロルカム4mg ×1 : .co.jpのYahoo!検索
- タニタ KD Err6 ×1 : .co.jpのYahoo!検索
- クランクケース ボルト ×1 : .co.jpのYahoo!検索
- スピール膏 いぼ ×1 : .co.jpのYahoo!検索
- gimp-levels-stretch threshold ×1 : .co.jpのGoogle検索
- scriptfu non-interactive ×1 : .co.jpのGoogle検索
- WIMAX 設定 方法 ×1 : .co.jpのYahoo!検索
- まっくら森のうた ×1 : .co.jpのYahoo!検索
- ピロリ菌検査正常値 ×1 : .co.jpのYahoo!検索
- バスの定期落とした ×1 : .co.jpのYahoo!検索
- Text Enhance ×1 : .co.jpのYahoo!検索
- hhr-3am ×1 : .co.jpのGoogleのURL検索?
- 病院 薬 風邪悪化 ×1 : .co.jpのYahoo!検索
- クラビット 500 ×1 : .co.jpのYahoo!検索
- タニタErr6 ×1 : .co.jpのYahoo!検索
- a-bike サイクルコンピューター ×1 : .co.jpのYahoo!検索
- st9750423as ユーティリティ ×1 : .co.jpのGoogleのURL検索?
- ホワイト版レイヤーの作成 gimp ×1 : .co.jpのGoogleのURL検索?
- 献血失敗 ×1 : .co.jpのYahoo!検索
- 青山ブックセンター新宿 ×1 : .co.jpのYahoo!検索
- PL配合顆粒 ×1 : .co.jpのYahoo!検索
- キャンディーヌ ×1 : .co.jpのYahoo!検索
- cl : コマンド ライン error d8045 ×1 : .co.jpのGoogleのURL検索?
- GIMP 2値化 割合 ×1 : .co.jpのYahoo!検索
- ケータイマグ 匂い ×1 : .co.jpのYahoo!検索
- VGAポート ×1 : .co.jpのYahoo!検索
- 恋愛 ソング 片思い ×1 : .co.jpのYahoo!検索
- gimp 二値化 フィルタ ×1 : .co.jpのGoogleのURL検索?
- 鼻炎薬 副作用 ×1 : .co.jpのYahoo!検索
- finepix ax300 フォーマットできない ×1 : .comのGoogleのURL検索?
- gimp-selection-bounds ×1 : .co.jpのGoogle検索