OcrISBN

ダウンロード

指定されたフォルダ内の画像をWindows10のOCRでテキスト化して、ISBNと思しき番号を探し出すソフトウェアです。

バーコードはないけれど、ISBN番号は印刷されている時代の書籍から読み取る為に作りしました。

フォルダ内の前方にある先にスキャンしたカバー画像や、後方にある奥付ページを想定して検索します。--head 2 --tail 16

>ocrisbn.exe -h
ocrisbn 0.0.0.3
Copyright c y9o 2020

  --head            (Default: 2) 前方ファイル数

  --tail            (Default: 16) 後方ファイル数

  -l, --lang        (Default: en-US) OCR言語

  -V, --view        OCR結果を表示

  -s, --stop        ISBNを見つけたら残り画像は無視する

  --noRotate        270度回転して再OCRをしない

  --noBinarize      2値化して再OCRをしない

  -o, --out         指定ファイルにISBN13番号を書き出す

  --help            Display this help screen.

  --version         Display version information.

  Input (pos. 0)    Required. OCR対象の画像またはフォルダ

OCRのインストール

--lang en-US Windows10標準搭載のOCR機能で英語を使うために、Windowsの設定からen-USアメリカ英語をインストールしてください。自動でダウンロードされて、英語OCRが使えるようになります。

設定>時刻と言語

余分なチェックは外しても大丈夫でした

実行例

en-USでは2値化しないと認識せず、jaなら素直に行く例:

en-USでは2値化しないと認識せず、jaなら素直に行く例:test01.jpg

C:\>ocrisbn.exe -Vs test\test01.jpg
Scan: test\test01.jpg
PrintedinJapan

==Rotate270==========

==Binarize ==========
ISBN4?06-149102-4PrintedinJapan

ISBN: 9784061491021

C:\>ocrisbn.exe -Vs -l ja test\test01.jpg
Scan: test\test01.jpg
製本所ーーー株式会社:大進堂
ISBN4ー06ー149102ー4PrintedinJapan
(定価はカバーに表示してあります)

ISBN: 9784061491021
縦画像も反時計回転してOCR:

縦画像も反時計回転してOCR:test02.png

C:\>ocrisbn.exe -V test\test02.png
Scan: test\test02.png
T
B
I)
Ffr
it

==Rotate270==========
ISSN4-06-115423-0(3)

==Binarize ==========

==Binarize270========
ISBN4-06-115423-0(3)

ISBN: 9784061154230

フォルダ名変更は未実装

ISBN番号からネット検索処理を書くのが面倒だったので、番号をファイルに書き出すようにしました。別ソフトisbn2title.exeを使ってそのファイルを読み込むことでタイトル変更も自動でできるようになります。

@echo off
rem D&D用ISBNスキャン自動リネーム.bat
rem 最初はバーコードスキャンを実行
"%~dp0\isbn2title.exe" -save %1
if exist "%~1" (
	rem バーコードでリネームできなければ英語OCR
	echo OCR en-US
	"%~dp0\ocrisbn.exe" -s -o "%~1\isbn.txt" %1
	if exist "%~1\isbn.txt" (
		"%~dp0\isbn2title.exe" -check "%~1\isbn.txt" -save %1
	) else (
		rem 日本語OCRだと上手く読める場合もある
		echo OCR 日本語
		"%~dp0\ocrisbn.exe" -l ja -s -o "%~1\isbn.txt" %1
		if exist "%~1\isbn.txt" (
			"%~dp0\isbn2title.exe" -check "%~1\isbn.txt" -save %1
		) else (
			echo 見つかりませんでした。
		)
	)
)
pause