Ứng dụng AI

Chụp ảnh sổ liên lạc viết tay của trường, để AI đọc rồi hiển thị lên màn hình trong nhà

Chụp ảnh sổ liên lạc viết tay của trường, để AI đọc rồi hiển thị lên màn hình trong nhà

Photo: rawpixel (CC0 1.0) via rawpixel

Chào buổi sáng, mình là まさきん.

Sổ liên lạc mà con mang về từ trường đều là chữ viết tay. Hơn nữa nét chữ khá đặc trưng, có lúc mất thời gian để đọc hiểu.

Mình đã tạo một cơ chế để AI hỗ trợ công đoạn “đọc hiểu rồi truyền đạt cho gia đình” này. Lần này mình giới thiệu theo đúng quy trình thực tế, từ bước xử lý ảnh trước đến cập nhật hiển thị.

Lý do bắt đầu: “thời điểm xem lại bị lệch nhau”

Sổ liên lạc chỉ được nhận biết tồn tại khi con lấy ra từ cặp. Có lúc nhận ra thì đã là chiều tối.

Mình muốn nội dung được phản ánh ở một nơi mà bất kỳ ai trong gia đình cũng có thể xem bất cứ lúc nào. Nghĩ vậy, mình đã tạo cơ chế hiển thị nội dung sổ liên lạc lên màn hình đặt ở phòng khách.

Quy trình của cơ chế

Việc thực hiện gồm 4 bước sau:

  1. Chụp ảnh trang sổ liên lạc bằng điện thoại
  2. Chỉnh lại hướng của ảnh — vì ảnh chụp văn bản dọc có lúc không đứng thẳng
  3. Nhờ AI chuyển thành văn bản
  4. Ghi kết quả vào dữ liệu, cập nhật hiển thị trên màn hình

Từ chụp ảnh đến cập nhật hiển thị, phần duy nhất cần con người thao tác là “chụp”. Các công đoạn còn lại được thiết kế để chạy tự động.

Chuẩn hóa ảnh đã chụp thành dạng có thể đọc được

Ảnh chụp bằng iPhone, nếu để nguyên có lúc AI sẽ nhận nhầm hướng. Đặc biệt định dạng HEIC, dù có thể mở bằng trình xem ảnh thông thường nhưng có lúc công cụ đọc ảnh của AI lại không hỗ trợ.

Vì vậy đầu tiên mình chuyển sang JPEG, đồng thời chỉnh lại hướng. Nếu dùng Mac, chỉ cần lệnh sips có sẵn là xong.

# Chuyển HEIC sang JPEG
sips -s format jpeg IMG_xxxx.HEIC --out notice.jpg

# Nếu văn bản dọc bị hiển thị nằm ngang, xoay 90 độ theo chiều kim đồng hồ
sips -r 90 notice.jpg --out notice_rot.jpg

Sau khi chuyển đổi một lần, mình kiểm tra lại, nếu hướng vẫn sai thì xoay thêm 90 độ hoặc lật 180 độ. Chỉ cần thử vài lần để tìm ra hướng đúng, sau đó chỉ cần viết sẵn thành script với cùng phép chuyển đổi đó.

Hơn nữa, nếu để nguyên ảnh toàn trang thì chữ sẽ nhỏ và khó đọc, vì vậy mình dùng PIL — Pillow — để cắt riêng vùng tập trung chữ trước khi cho AI đọc.

from PIL import Image

im = Image.open("notice_rot.jpg")
# Cắt vùng chữ ở giữa (điều chỉnh theo kích thước thực tế của tờ in)
im.crop((1300, 500, 3100, 2800)).save("zoom_main.jpg", quality=95)

So với việc đưa toàn ảnh, việc phóng to chỉ vùng tập trung chữ rồi mới đưa cho AI rõ ràng giúp tăng độ chính xác khi đọc.

Cách đối xử với chữ viết tay

Đây là phần mình chú ý nhất. Chữ của con có nét đặc trưng hơn chữ của người lớn. Dù để AI đọc, không phải lúc nào cũng đọc chính xác 100%.

Vì vậy mình luôn thêm câu sau vào chỉ dẫn cho AI:

Đây là sổ liên lạc viết tay của một đứa trẻ. Dù có chỗ khó đọc,
xin đừng đoán bừa để lấp vào. Chỉ chuyển thành văn bản những phần
đọc được một cách chắc chắn, còn những chỗ không đọc được thì
ghi là "không đọc được", đồng thời cho biết cả vị trí của chỗ đó.

Nếu đoán bừa để lấp vào, sẽ có rủi ro thông tin sai được truyền đến gia đình. Việc để AI thành thật trả lời “không biết” cuối cùng lại tạo ra một cơ chế đáng tin cậy hơn. Những phần không đọc được, cuối cùng con người sẽ kiểm tra và bổ sung.

Nghĩ lại thì cơ chế này bắt đầu từ việc chụp ảnh bằng điện thoại. Việc cập nhật hiển thị cũng hoàn tất qua kết nối mạng ở bước cuối. Cả điểm đầu vào và đầu ra, cuối cùng đều phụ thuộc vào kết nối mạng. Hợp đồng của chính mình cũng là thứ đáng để xem lại.

Mô phỏng cước phí nhận ngay 100 điểm, không cần đăng ký Chuyện muốn xem lại hợp đồng điện thoại của mình

Khi bấm vào, trang đăng nhập Rakuten sẽ mở ra. Đăng nhập xong sẽ thấy nội dung chương trình.

Cách lưu trữ dữ liệu hiển thị

Nội dung đã đọc được, mình lưu dưới dạng JSON đơn giản. Chương trình phía màn hình đọc file này rồi tạo ra HTML.

{
  "updated": "2026-09-01T07:30:00+09:00",
  "valid_for": "2026-09-01",
  "schedule": ["9月1日(火曜日)", "1 こくご", "2 さんすう", "3 たいいく", "4 おんがく"],
  "homework": ["かんじの れんしゅう"],
  "items": ["ずこうの どうぐばこ"],
  "notice": []
}

Phần tử đầu của mảng là tiêu đề, các phần tử sau xếp theo định dạng “tiết học môn học”. Ngày không có liên lạc, mình đặt hẳn schedule này thành mảng trống, homeworkitems cũng xử lý tương tự. Ngày quên chụp ảnh, mình đặt lại toàn bộ cấu trúc này về null, phía màn hình sẽ hiển thị dòng “hãy kiểm tra sổ liên lạc nhé”.

Mình cũng ghi lại luôn “trong thời khóa biểu hôm nay có bao nhiêu tiết đã được điền”. Con số này có một tác dụng nhỏ.

Điều nhận ra được từ “số tiết đã điền”

Nếu toàn bộ ô thời khóa biểu được điền đầy, có thể biết đó là một ngày học bình thường. Nhưng có những ngày chỉ điền đến giữa.

Những ngày như vậy có thể là do về sớm hoặc có lịch học đặc biệt. Khi số tiết được điền ít hơn dự kiến, mình không phản ánh vô điều kiện mà coi đó là “có khả năng về sớm hoặc học nửa ngày”, cần xác nhận thêm.

Không chỉ đọc chữ trong sổ liên lạc, mình còn thiết kế để có thể nhận ra vấn đề từ “chính lượng thông tin”. Đây là một điểm khác với độ chính xác của việc chuyển văn bản, nhưng lại là một chi tiết nhỏ có ích âm thầm.

Cách tự động hóa việc cập nhật hiển thị

Sau khi cập nhật JSON, mình phản ánh lên hiển thị theo 2 bước sau:

  1. Chạy script đọc JSON rồi tạo lại HTML
  2. Gửi lệnh tải lại trang cho trình duyệt phía màn hình

Lệnh tải lại không chỉ đơn giản là cập nhật trang, mà thực hiện theo thứ tự “xóa cache → xóa dữ liệu đã lưu → tải lại URL”. Vì nếu cache phía trình duyệt còn sót lại, có lúc dù chạy lại script, màn hình vẫn hiển thị nội dung cũ.

Mình xác nhận việc phản ánh có thành công hay không theo các cách sau:

Nếu một trong hai bước trên thất bại, mình có sẵn phương án dự phòng là khởi động lại chính app phía màn hình, thay vì tải lại qua mạng. Vì màn hình sẽ tối đi trong khoảnh khắc, mình chỉ dùng cách này khi đã xác nhận chắc chắn cần thiết.

Chi tiết ở phía hiển thị

Trên màn hình, mình chỉ hiển thị bản tóm tắt sổ liên lạc trong ngày. Vì nếu hiển thị nguyên văn bản thô, lượng thông tin quá nhiều sẽ khiến không ai xem nữa.

Bằng cách thu hẹp thông tin, chỉ cần nhìn qua khi đi ngang qua cũng đủ nắm được.

Những gì cảm nhận được khi thực hiện

Điều tốt nhất là trạng thái “chờ ai đó nhận ra” đã biến mất. Chỉ cần chụp ảnh xong, bất kỳ ai trong gia đình cũng có thể truy cập cùng một thông tin.

Mặt khác, mình không giao hoàn toàn cho AI. Khi có hiển thị “không đọc được”, cuối cùng mình luôn tự mắt kiểm tra lại. Nếu bỏ qua bước này, thông tin sai sẽ được truyền nguyên vẹn đến gia đình, nên chỉ riêng điểm này mình luôn giữ nguyên tắc không bỏ qua.

Phù hợp với những ai

Tổng kết

Mình đã tạo một cơ chế để AI đọc sổ liên lạc viết tay, rồi phản ánh lên màn hình trong nhà. Mình cảm thấy điểm mấu chốt là không để AI đoán bừa, thu hẹp thông tin khi hiển thị, và chắc chắn xóa cache trước khi tải lại.

Về mặt kỹ thuật thì không có gì quá khó. Nhưng mình nghĩ sự tích lũy của những cơ chế hóa nhỏ như vậy sẽ giúp việc chia sẻ thông tin hàng ngày trong gia đình trở nên nhẹ nhàng hơn một chút.

Chụp bằng điện thoại, truyền đi qua mạng. Đó chính là gốc rễ của cơ chế này. Mình cảm thấy việc chuẩn bị tốt môi trường kết nối cũng có tác dụng âm thầm không nhỏ.

Mô phỏng cước phí nhận ngay 100 điểm, không cần đăng ký Chuyện muốn chuẩn bị tốt môi trường kết nối

Khi bấm vào, trang đăng nhập Rakuten sẽ mở ra. Đăng nhập xong sẽ thấy nội dung chương trình.

Bài viết này có chứa quảng cáo liên kết. Nếu bạn đăng ký sản phẩm hoặc dịch vụ qua liên kết trên trang này, chúng tôi có thể nhận được hoa hồng từ đối tác. Ngoài ra, người vận hành trang là nhân viên của Rakuten Group và có thể nhận thù lao qua chương trình giới thiệu nhân viên. Nội dung và đánh giá trong bài được viết dựa trên trải nghiệm thực tế và tìm hiểu của người vận hành, không phụ thuộc vào việc có quảng cáo hay không, nhưng mong bạn đọc với sự hiểu biết về mối quan hệ trên. Chi tiết xem tại phần Miễn trừ trách nhiệm & Tiết lộ liên kết. Miễn trừ trách nhiệm & Tiết lộ liên kết

Bài viết này có sử dụng dịch máy. Vui lòng tham khảo trang đa ngôn ngữ trên website chính thức của Rakuten Mobile để biết điều kiện chính xác.

Nếu bạn có thắc mắc về khu vực phủ sóng hoặc chất lượng tín hiệu của Rakuten Mobile, có thể liên hệ qua mẫu đề nghị khảo sát và cải thiện sóng chính thức.

ABOUT THE AUTHOR
まさきん

Nhân viên Rakuten Group · Chuyên gia marketing kỹ thuật số (có chứng chỉ FP)

Đầu 40 tuổi, cả hai vợ chồng đi làm, có bốn con. Vừa làm marketing kỹ thuật số tại Rakuten Group, vừa tận dụng chứng chỉ hoạch định tài chính (FP) để chú trọng quản lý chi tiêu gia đình và tích lũy tài sản.

Xem hồ sơ

Bài viết liên quan

RELATED
Mình đăng ký X Premium chỉ vì Grok, ai ngờ Tesla cũng dùng được AI này Ứng dụng AI

Mình đăng ký X Premium chỉ vì Grok, ai ngờ Tesla cũng dùng được AI này

Mình đăng ký gói trả phí của X chỉ vì muốn dùng Grok. Đúng lúc đó, mình bất ngờ nhận ra Grok cũng dùng được ngay trong xe Tesla. Bài viết tổng hợp cách chọn gói cước và cách sử dụng Grok trong xe mà mình đã tự kiểm tra.

2026.09.01 · khoảng 3 phút đọc
Cách dùng AI để đăng ký nhanh lịch hẹn miệng của gia đình vào Google Calendar Ứng dụng AI

Cách dùng AI để đăng ký nhanh lịch hẹn miệng của gia đình vào Google Calendar

Giới thiệu cách chỉ cần nói cho AI nghe những lịch hẹn nghe được qua LINE hoặc lời nói của gia đình, kiểu như 'hội thao tháng sau là 9h ngày 25/10', là AI sẽ tạo luôn link đăng ký Google Calendar. Không cần quét ảnh, không cần cài app.

2026.07.10 · khoảng 5 phút đọc
Mình để AI soạn một tờ 'bản tin buổi sáng' trong lúc mình chuẩn bị ra khỏi nhà Ứng dụng AI

Mình để AI soạn một tờ 'bản tin buổi sáng' trong lúc mình chuẩn bị ra khỏi nhà

Mình đã tạo cơ chế để AI tổng hợp lịch trình, email, tin nhắn chat, tự động tạo ra một bản tin duy nhất có thể xem trong lúc chuẩn bị đi làm buổi sáng. Giới thiệu chi tiết từ cách thu thập thông tin đến cách hoàn thiện giao diện, đủ để áp dụng thực tế.

2026.06.22 · khoảng 6 phút đọc
Chuyển sang Rakuten Mobile, nhận tối đa 14.000 điểm Mô phỏng cước phí nhận ngay 100 điểm, không cần đăng ký →
Đăng ký ngay →