pythonで、画像ファイルから文字を認識してテキスト化する手順をChatGPTに教えてもらった
画像ファイルから文字抽出する機能を作成した際に、まずはpytesseractをセットアップしましたが、その設定手順についてもChatGPTに教えてもらいました。
設定中に所々でエラーが発生しましたが、そんな時もエラーメッセージをそのままChatGPTに投げれば解決法を教えてもらえるので、だいぶ助かりました!
以前に、pytesseractを使用して、画像から文字抽出した記事
1. pythonで、画像ファイルから文字を認識してテキスト化するpytesseractの設定手順
ChatGPTへのプロンプトまで記載すると、膨大になってしまうので、セットアップ関連の箇所のみを抜粋しまとめました。
1-1. pytesseract、Pillowのインストール
pip install pytesseract
pip install Pillow
1-2. Tesseractのインストール
sudo apt-get install tesseract-ocr
1-3. Tesseractのパス設定
TESSERACT_CMD = '/usr/bin/tesseract'
1-4. Tesseractの日本語言語データのインストール
sudo apt-get install tesseract-ocr-jpn
1-5. TESSDATA_PREFIXの設定
export TESSDATA_PREFIX=/usr/share/tesseract-ocr/
# settings.py
TESSDATA_PREFIX = '/usr/share/tesseract-ocr/'
2. 学習データを変える
最後はおまけで、実施しなくても良く、読み取る文字の形状を微調整したい場合など適宜実施する形で。
tesseractの配置場所を調べる
find / -type d -name "*tesseract*" 2>/dev/null | grep -v "Permission denied"
/usr/share/doc/tesseract-ocr-osd
/usr/share/doc/libtesseract4
/usr/share/doc/tesseract-ocr-eng
/usr/share/doc/tesseract-ocr-jpn
/usr/share/doc/tesseract-ocr
/usr/share/tesseract-ocr
/opt/bitnami/python/lib/python3.11/site-packages/pytesseract
/opt/bitnami/python/lib/python3.11/site-packages/pytesseract-0.3.10.dist-info
学習データのディレクトリの内容を確認する
/usr/share/tesseract-ocr/4.00/tessdata$ ls -ltr
total 16764
-rw-r--r-- 1 root root 4113088 Sep 15 2017 eng.traineddata
-rw-r--r-- 1 root root 10562727 Sep 15 2017 osd.traineddata
-rw-r--r-- 1 root root 2471260 Feb 21 2018 jpn.traineddata
-rw-r--r-- 1 root root 572 Feb 4 2021 pdf.ttf
drwxr-xr-x 2 root root 4096 Apr 23 01:12 tessconfigs
drwxr-xr-x 2 root root 4096 Apr 23 01:12 configs
元々存在していた学習データファイルをバックアップ
sudo mv jpn.traineddata jpn.traineddata.org.20240515
学習データをgithubから取得する
sudo wget https://github.com/tesseract-ocr/tessdata_best/raw/main/jpn.traineddata -P /usr/share/tesseract-ocr/4.00/tessdata/
sudo wget https://github.com/tesseract-ocr/tessdata_best/blob/main/jpn_vert.traineddata -P /usr/share/tesseract-ocr/4.00/tessdata/
おまけ(OpenCVの設定について)
pytesseractとは別件ですが、OpenCVもセットアップしたので、その時のメモ。
pip install opencv-python
sudo apt-get update
sudo apt-get install -y libgl1-mesa-glx
おわりに
最後まで読んで頂き、ありがとうございます!
ChatGPTを使用すると、作業スピードが格段に上がり、本来、精査とトライアンドエラーで1週間かかる作業が、1日以内で出来るぐらい生産性が上がったような気がします。生産性が上がると出来ることも増えるので、今後もChatGPTの活用方法を模索していきたいと思います!
この記事が気に入ったらサポートをしてみませんか?