OCR กล้อง: ชี้ ถ่าย แปล

Last updated: 2026-09-03

OCR ของกล้องทำงาน OCR บนอุปกรณ์โดยใช้แพ็กเกจ vision_text_recognition ที่ fork แล้วซึ่งรองรับตัวอักษรละติน จีน (ตัวย่อและตัวเต็ม) ญี่ปุ่น และเกาหลี ไม่มีการอัปโหลดข้อมูลใด ๆ สำหรับการรู้จำ บล็อกที่ OCR engine ส่งคืนแต่ละบล็อกมี bounding box และข้อความที่ตรวจพบของตัวเอง หน้าผลลัพธ์จะวาดคำแปลทับลงบนพิกัดเดียวกันเพื่อรักษาเลย์เอาต์ดั้งเดิม

ไปป์ไลน์การถ่าย

  1. การเริ่มต้นกล้อง ตัวควบคุมกล้องจะเริ่มต้นแบบ async พร้อมสถานะที่ชัดเจน initializing / ready / failed เมื่อล้มเหลว ปุ่มลองใหม่จะแสดงขึ้นเพื่อเริ่มต้นใหม่โดยไม่เข้า initializing guard ซ้ำ
  2. การจัดแนวจริง DeviceOrientation ของ iOS และ EXIF ไม่น่าเชื่อถือเมื่อแอปถูกล็อกเป็นแนวตั้ง แอปอ่าน accelerometer ดิบผ่าน sensors_plus และแคชเฟรมล่าสุด เพื่อให้ชัตเตอร์จับทิศทางการจับที่แท้จริงแม้ UI จะถูกล็อก จากนั้วจึงปรองดองการจัดแนว EXIF กับความจริงภาคพื้นนี้
  3. ชัตเตอร์ แตะเพื่อจับภาพตามอัตราส่วนภาพของตัวอย่างภาพ ณ ปัจจุบัน เฟรมที่จับได้จะลดขนาดลงเหลือขอบสูงสุดที่กำหนดได้ก่อน OCR — หน้าส่วนใหญ่ต้องการ 1500–2000 พิกเซลที่ขอบยาวเพื่อให้ engine อ่านตัวอักษรเล็ก ๆ โดยไม่ทำให้หน่วยความจำบวม
  4. แฟลช มีสี่โหมดในช่องมองภาพ — อัตโนมัติ ปิด เปิด และไฟฉาย — พร้อมสวิตช์ผูกกับ API แฟลชของระบบ

สิ่งที่ OCR ส่งคืน

ทำไมต้องบนอุปกรณ์

แนวปฏิบัติที่ดีที่สุดสำหรับ OCR ที่แม่นยำ

  1. แสงสม่ำเสมอทางอ้อม แสงจากหน้าต่างเหนือกว่าไฟส่องด้านบน เงาที่พาดผ่านหน้าเป็นสาเหตุที่พบบ่อยที่สุดของการอ่านตัวอักษรผิด
  2. แตะเพื่อโฟกัส หากออโต้โฟกัสเลือกวัตถุผิด (โต๊ะ นิ้ว ขอบหน้า) ให้แตะตรงกลางข้อความก่อนถ่าย
  3. หน้าเรียบ หน้าที่โค้งเข้าหาสันหนังสือจะสูญเสียตัวอักษรใกล้รอยต่อ ใช้อีกมือหนึ่งกดให้หน้าเรียบเมื่อทำได้
  4. หนึ่งภาษาต่อการถ่าย หน้าที่มีสคริปต์ผสมทำงานได้ในครั้งเดียว แต่หน้าที่ผสมละตินกับญี่ปุ่นแนวตั้งควรแบ่งเป็นสองการถ่าย