useruserのアイコン画像
useruser 2024年09月20日作成 (2024年09月27日更新)
製作品 製作品 閲覧数 144
useruser 2024年09月20日作成 (2024年09月27日更新) 製作品 製作品 閲覧数 144

とっても簡単 テキストデジタル変換器!!!

使用したもの

ラズパイ4

ラズパイカメラ

お題目

最近はなんでもデジタルで物事が済みます
ですが、「現実の文と記号の入力」
煩わしくはないでしょうか?
そんな不便を解消
テキストデジタル変換機のご紹介です!

イメージ図

イメージ図1 従来の入力作業
・時間がかかる
・入力する人間が必要

イメージ図2 新たな入力作業
・誰でも即時に入力完了!
・撮るのは人間でなくてもよい

コード

# coding:utf-8 import os import sys import RPi.GPIO as GPIO import datetime from time import sleep from PIL import Image import pyocr import pyocr.builders PNAME = 'test' # 保存するファイル名の基本 TSW = 24 # TriggerSW(白SW)のBOAED番号 GPIO.setmode(GPIO.BCM) GPIO.setup(TSW, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) print("CAMERA START") def IMAP(newfilename): tools = pyocr.get_available_tools() if len(tools) == 0: print("No OCR tool found") sys.exit(1) tool = tools[0] print("Will use tool '%s'" % (tool.get_name())) langs = tool.get_available_languages() print("Available languages: %s" % ", ".join(langs)) lang = langs[0] print("Will use lang '%s'" % (lang)) txt = tool.image_to_string( Image.open(newfilename), # newfilenameを直接使用 lang=lang, builder=pyocr.builders.TextBuilder() ) print("Extracted text:") print(txt) try: while True: if GPIO.input(TSW) == GPIO.HIGH: d = datetime.datetime.now() dstr = '{0:%Y%m%d_%H%M%S}.jpg'.format(d) newfilename = PNAME + dstr # ファイル名の作成 os.system('libcamera-still -n -o test.jpg') # 撮影 img = Image.open("test.jpg") # ファイルを開く #img_rotate = img.rotate(90) # 画像90度回転 #img_rotate.save("test.jpg") # ファイル保存 os.rename('test.jpg', newfilename) # ファイル名の変更 sleep(2) IMAP(newfilename) # 画像処理の関数を呼び出し except KeyboardInterrupt: print("\nCAMERA STOP") GPIO.cleanup() sys.exit()

挙動

写真からテキストを抽出します

まとめ

こちらを用いることで、写真からパソコンにテキストを取り込むことができました。

後書き
時間がなくてテキストファイルに変換したり、AIや学習データの用意、閾値を設定したりできなかったのが残念です。

参考にしたサイト

https://gangannikki.hatenadiary.jp/entry/2019/07/30/190000

ログインしてコメントを投稿する