dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

pillow で avif 形式の画像を処理できるようにする方法

2022-03-18 21:04:06 | python
pillow で avif 形式の画像を処理できるようにする方法のメモ。

pillow-avif-plugin をインストールします。
pip install pillow-avif-plugin


python プログラム内で pillow-avif-plugin を import すると、
pillow で avif 形式の画像を処理できるようになります。
import pillow_avif
from PIL import Image
...


pyocr による文字認識

2022-03-18 20:56:42 | python
pyocr で文字認識を行う方法のメモ。

まず、必要なライブラリ等をインストールします。
■leptonica のインストール
leptonica のページで rpm の URL を確認します。
https://centos.pkgs.org/8/centos-appstream-x86_64/leptonica-1.76.0-2.el8.x86_64\
.rpm.html


rpm をインストールします。
wget https://vault.centos.org/centos/8/AppStream/x86_64/os/Packages/leptonica-1\
.76.0-2.el8.x86_64.rpm
sudo rpm -ivh leptonica-1.76.0-2.el8.x86_64.rpm


■tesseract のインストール
sudo yum install tesseract tesseract-langpack-jpn.noarch


■pyocr のインストール
pip install pyocr


■プログラム
pyocr を用いた文字認識のサンプルプログラムです。
引数に画像ファイル名を指定すると、画像中のテキストを出力します。
import sys
from PIL import Image
import pyocr.builders

def main():
    img_file = sys.argv[1]

    tool = pyocr.get_available_tools()[0]
    img = Image.open(img_file)
    txt_bldr = pyocr.builders.TextBuilder()
    text = tool.image_to_string(img, lang='jpn', builder=txt_bldr)
    print(text)

    return 0

if __name__ == '__main__':
    res = main()
    exit(res)