使用したもの
ラズパイ4
ラズパイカメラ
お題目
最近はなんでもデジタルで物事が済みます
ですが、「現実の文と記号の入力」
煩わしくはないでしょうか?
そんな不便を解消
テキストデジタル変換機のご紹介です!
イメージ図
コード
# 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や学習データの用意、閾値を設定したりできなかったのが残念です。
-
useruser
さんが
2024/09/20
に
編集
をしました。
(メッセージ: 初版)
-
useruser
さんが
2024/09/20
に
編集
をしました。
-
useruser
さんが
2024/09/20
に
編集
をしました。
-
useruser
さんが
2024/09/20
に
編集
をしました。
-
useruser
さんが
2024/09/27
に
編集
をしました。
-
useruser
さんが
2024/09/27
に
編集
をしました。
-
useruser
さんが
2024/09/27
に
編集
をしました。
-
useruser
さんが
2024/09/27
に
編集
をしました。
-
useruser
さんが
2024/09/27
に
編集
をしました。
ログインしてコメントを投稿する