Trong thời đại số hóa, việc tự động trích xuất thông tin từ hình ảnh ngày càng trở nên phổ biến và hữu ích trong nhiều lĩnh vực. Với một chiếc Raspberry Pi nhỏ gọn và camera module, bạn hoàn toàn có thể xây dựng một hệ thống nhận diện văn bản (OCR) thời gian thực, có thể ứng dụng vào việc xử lý tài liệu giấy hoặc hỗ trợ người khiếm thị đọc nội dung xung quanh.
Bài viết này sẽ hướng dẫn bạn cách kết hợp Raspberry Pi với OpenCV và Tesseract OCR để nhận diện văn bản từ ảnh camera một cách nhanh chóng và chính xác.
Linh kiện sử dụng trong bài
Code Python cho chương trình
Cài đặt các thư viện bằng cách chạy các lệnh sau:
sudo apt update sudo apt install python3-opencv sudo apt install python3-pytesseract sudo apt install libtesseract-dev tesseract-ocr tesseract-ocr-vie tesseract-ocr-eng
Mã Python
from picamera2 import Picamera2 import cv2 import pytesseract import time import os def get_next_filename(prefix="ocr_", ext=".txt"): i = 1 while True: filename = f"{prefix}{i:03d}{ext}" if not os.path.exists(filename): return filename i += 1 # Camera picam2 = Picamera2() picam2.preview_configuration.main.size = (640, 480) picam2.preview_configuration.main.format = "BGR888" picam2.preview_configuration.controls.FrameRate = 30 picam2.configure("preview") picam2.start() time.sleep(1) while True: frame = picam2.capture_array() cv2.imshow("Frame", frame) key = cv2.waitKey(1) & 0xFF if key == ord("s"): text = pytesseract.image_to_string(frame, lang='vie+eng') # Terminal print("OCR Text:") print(text) # Create new file filename = get_next_filename() with open(filename, "w", encoding="utf-8") as f: f.write(text) print(f"Da luu vao {filename}") elif key == ord("q"): break cv2.destroyAllWindows() picam2.stop()
Chương trình sẽ chụp ảnh lại và xuất nội dung nhận diện được thành một file văn bản (.txt). Ngôn ngữ được hỗ trợ là tiếng Việt và tiếng Anh.
Chạy chương trình thì camera mở và hiển thị khung hình
Khi bấm phím s
:
- Chụp lại khung hình hiện tại
- Sử dụng Tesseract OCR nhận diện văn bản
- In ra kết quả và lưu vào file
Bấm q
để thoát chương trình


Kết luận
Dự án OCR với Raspberry Pi không chỉ là một bài tập thú vị về lập trình và thị giác máy tính, mà còn là một giải pháp hữu ích trong thực tế – từ việc tự động hóa công việc văn phòng đến hỗ trợ người dùng trong đời sống hàng ngày. Với chi phí thấp, thiết bị nhỏ gọn và khả năng mở rộng linh hoạt, bạn có thể dễ dàng tùy biến hệ thống để phục vụ nhiều mục đích khác nhau.