はじめに
こんにちは!しおるです。🌸
今回はPython学習シリーズ「Python Lessons」の第9回として、FlaskとPythonを使ったOCRアプリを紹介するよ!
このアプリは、もともと 「SYFontの検証をするため」 に作り始めたんだけど、作ってみたら意外と実用的でびっくりした。🎉
例えば、OCR結果がテキストで出力されるから、切り取った部分を目視確認できるし、テキストをコピーして他のシステムに貼り付けるだけで入力作業が完了するんだ。📄✨
特に、紙の請求書とかをデジタル化したいときに役立ちそう!これは便利だな〜って思って、しっかりとアプリとして作り上げることにしたよ。
今回の記事では、このOCRアプリの使い方とコードを紹介するね!
必要なもの
- Python 3.x
- Flask
- OpenCV
- Pillow
- pytesseract
Pythonの仮想環境を作って、以下のコマンドでライブラリをインストールしておいてね!
pip install flask opencv-python-headless pillow pytesseract
フォルダ構成
このアプリは、以下のフォルダ構成で動作するようになっているよ。📂
OCR_App/
├── app.py
├── static/
│ ├── uploads/
│ └── cropped/
├── templates/
└── index.html
実際にこの構成を作るのは面倒だと思うから、ZIPファイルとして用意したよ。👇
このZIPファイルをダウンロードして、解凍するだけでOK!
動かし方
⚠️ 注意点: 画像が小さすぎると正しく読み込めないことがあるよ!できるだけ大きめの画像を使って試してみてね!
⚠️ 注意点: ファイル名に日本語や特殊文字を含むと読み込みに失敗することがあるよ!ファイル名を image.png
のようなシンプルなものにするといいよ!
- ZIPファイルを解凍する。
- ターミナルを開いて、解凍したフォルダに移動する。
app.py
を実行する。
python app.py
- ブラウザで
http://127.0.0.1:5000/
にアクセスする。
これで、画像をアップロードしてOCRを試せるよ!
使い方
- 「ファイルを選択」から読み取りたい画像ファイルを選択。
- 「アップロード」をクリック。
- マウスで読み取りたいエリアをドラッグで囲む。
- 言語選択で「英語」か「日本語」を選ぶ。
- 「読み取り」をクリック!


※しまるテックじゃないけど・・・💦
おわりに
今回のPython Lesson 9 では、FlaskとPythonでOCRアプリを作ってみたよ!✨ 次は、このアプリをもっと便利にするために、機能追加をしていくつもり。例えば:
- 複数エリアを一度に読み取る機能
- 読み取り結果を自動で保存する機能
- UIの改善(もっと使いやすくする!)
もし興味がある人は、ぜひ試してみてね!🌸
また次回の記事で会いましょう!👋💚
🌸過去のPythonコードはこちらから!
コメント