Overview Webカメラ(BenQ ideaCam S1 Pro)を使って文字認識をやってみました。 EasyOCRというパッケージを使えば比較的簡単に文字認識ができる。 基板の文字を読むにはマクロレンズが必須 Setup python3.12 pip install easyocr opencv-python Implementation ソースコードはこんなかんじ cv.VideoCaptureの数字は環境に合わせて変更 import cv2 import easyocr import time # easyocrのリーダーを初期化(日本語と英語に対応) reader = easyocr.Reader(['ja', 'en'],gpu=True) # Webカメラを開く cap = cv2.VideoCapture(0) while True: # フレームを取得 ret, frame = cap.read() if not ret: break # フレームをグレースケールに変換 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 文字認識を実行 start_time = time.time() results = reader.readtext(gray) end_time = time.time() # 認識結果を描画 for (bbox, text, prob) in results: (top_left, top_right, bottom_right, bottom_left) = bbox top_left = tuple(map(int, top_left)) bottom_right = tuple(map(int, bottom_right)) # 文字列を描画 cv2.rectangle(frame, top_left, bottom_right, (0, 255, 0), 2) cv2.putText(frame, text, (top_left[0], top_left[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 2) # FPSを計算して表示 fps = 1 / (end_time - start_time) cv2.putText(frame, f"FPS: {fps:.2f}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) # 結果を表示 cv2.imshow("Real-time OCR", frame) # 'q'キーで終了 if cv2.waitKey(1) & 0xFF == ord('q'): break # リソースを解放 cap.release() cv2.destroyAllWindows() Results こんなかんじ Youtube動画公開予定 Conclusion EasyOCRを使うと文字認識はすごく簡単に実装できる ideaCam S1 Proのマクロレンズを使うことで基板に映る文字列も文字認識できる Reference EasyOCR ideaCam S1 Pro ideaCam S1 Pro購入先