OpenCVで文字情報を取得して、エクセルファイルへ出力するサンプルコード頂戴

OpenCVは画像処理ライブラリであり、OCR機能を持っていません。OCR(Optical Character Recognition)機能を使って画像から文字情報を取得する場合は、Tesseract OCRエンジンを使用することが一般的です。

以下は、PythonでOpenCVとTesseract OCRを使って画像から文字情報を取得し、それをエクセルファイルに出力するサンプルコードです。このサンプルコードを実行するには、opencv-pythonpytesseract ライブラリをインストールする必要があります。

python
import cv2 import pytesseract import numpy as np import pandas as pd # 画像ファイルからテキストを抽出する関数 def extract_text_from_image(image_path): # 画像を読み込む image = cv2.imread(image_path) # グレースケールに変換 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # ノイズを削除 denoised = cv2.fastNlMeansDenoising(gray, None, 10, 7, 21) # テキストを抽出 text = pytesseract.image_to_string(denoised, lang='jpn') # 日本語の場合、'jpn'を指定 return text # テキストから必要な情報を抽出し、エクセルファイルに出力する関数 def save_to_excel(text): # ここに必要な情報の抽出とエクセルへの書き込み処理を追加する # 例として、テキストを改行ごとに分割し、それぞれをエクセルの行に書き込む lines = text.split('n') df = pd.DataFrame({'Text': lines}) df.to_excel('output.xlsx', index=False) # 画像ファイルのパス image_path = 'image.jpg' # 画像ファイルのパスを指定してください # 画像からテキストを抽出 text = extract_text_from_image(image_path) # テキストをエクセルファイルに保存 save_to_excel(text)

このサンプルコードでは、image.jpg という名前の画像ファイルからテキストを抽出し、それを output.xlsx という名前のエクセルファイルに保存します。必要に応じて、save_to_excel 関数内でテキストから必要な情報を抽出し、エクセルファイルに適切に書き込む処理を追加してください。

未分類

Posted by ぼっち