OCR ภาพ PBM ใด ๆ

วางรูปภาพ, สแกน, หรือ PDF (สูงสุด 2.5GB) เราจะดึงข้อความออกมาในเบราว์เซอร์ของคุณ — ฟรี, ไม่จำกัด, และไฟล์ของคุณจะไม่ออกจากอุปกรณ์ของคุณ

ส่วนตัวและปลอดภัย

ทุกอย่างเกิดขึ้นในเบราว์เซอร์ของคุณ ไฟล์ของคุณไม่เคยสัมผัสเซิร์ฟเวอร์ของเรา

เร็วสุดขีด

ไม่มีการอัปโหลด ไม่ต้องรอ แปลงทันทีที่คุณวางไฟล์

ฟรีจริงๆ

ไม่ต้องใช้บัญชี ไม่มีค่าใช้จ่ายแอบแฝง ไม่มีลูกเล่นขนาดไฟล์

การรู้จำอักขระด้วยแสง (OCR) เปลี่ยนรูปภาพของข้อความ—สแกน, ภาพถ่ายจากสมาร์ทโฟน, PDF—เป็นสตริงที่เครื่องอ่านได้ และ, เพิ่มมากขึ้น, ข้อมูลที่มีโครงสร้าง. OCR สมัยใหม่เป็นไปป์ไลน์ที่ทำความสะอาดรูปภาพ, ค้นหาข้อความ, อ่าน, และส่งออกเมทาดาทาที่สมบูรณ์ เพื่อให้ระบบดาวน์สตรีมสามารถค้นหา, จัดทำดัชนี, หรือดึงข้อมูลฟิลด์ได้. สองมาตรฐานเอาต์พุตที่ใช้กันอย่างแพร่หลายคือ hOCR, ไมโครฟอร์แมต HTML สำหรับข้อความและเลย์เอาต์, และ ALTO XML, สกีมาที่มุ่งเน้นไลบรารี/หอจดหมายเหตุ; ทั้งสองรักษาสถานะ, ลำดับการอ่าน, และสัญลักษณ์เลย์เอาต์อื่น ๆ และ ได้รับการสนับสนุนจากเครื่องมือยอดนิยมเช่น Tesseract.

ทัวร์สั้น ๆ ของไปป์ไลน์

การประมวลผลเบื้องต้น. คุณภาพของ OCR เริ่มต้นด้วยการทำความสะอาดภาพ: การแปลงเป็นสีเทา, การลดสัญญาณรบกวน, การกำหนดค่าขีดแบ่ง (การทำให้เป็นไบนารี), และการปรับแก้ความเอียง. บทเรียน OpenCV แบบบัญญัติครอบคลุมทั่วโลก, การปรับตัว และ Otsu การกำหนดค่าขีดแบ่ง—ซึ่งเป็นส่วนสำคัญสำหรับเอกสารที่มีแสงไม่สม่ำเสมอหรือฮิสโตแกรมแบบสองโหมด. เมื่อความสว่างแตกต่างกันไป ภายในหน้า (นึกถึงภาพถ่ายจากโทรศัพท์), วิธีการปรับตัวมักจะทำงานได้ดีกว่าการกำหนดค่าขีดแบ่งทั่วโลกเพียงค่าเดียว; Otsu จะเลือกค่าขีดแบ่งโดยอัตโนมัติโดยการวิเคราะห์ฮิสโตแกรม. การแก้ไขความเอียงก็มีความสำคัญเท่าเทียมกัน: การปรับแก้ความเอียงโดยใช้ Hough (การแปลงเส้นตรง Hough) ควบคู่กับการทำให้เป็นไบนารีของ Otsu เป็นสูตรทั่วไปและมีประสิทธิภาพในไปป์ไลน์การประมวลผลเบื้องต้นในการผลิต.

การตรวจจับกับการรู้จำ. OCR โดยทั่วไปแบ่งออกเป็น การตรวจจับข้อความ (ข้อความอยู่ที่ไหน ?) และ การรู้จำข้อความ (มันพูดว่าอะไร?). ในฉากธรรมชาติและการสแกนจำนวนมาก, ตัวตรวจจับแบบคอนโวลูชันเต็มรูปแบบ เช่น EAST ทำนายรูปสี่เหลี่ยมระดับคำหรือบรรทัดได้อย่างมีประสิทธิภาพโดยไม่มีขั้นตอนการเสนอที่หนักหน่วงและถูกนำไปใช้ใน ชุดเครื่องมือทั่วไป (เช่น, บทแนะนำการตรวจจับข้อความของ OpenCV). บนหน้าที่ซับซ้อน (หนังสือพิมพ์, แบบฟอร์ม, หนังสือ), การแบ่งส่วนของบรรทัด/ภูมิภาคและการอนุมานลำดับการอ่านมีความสำคัญ:Kraken ใช้การแบ่งส่วนโซน/บรรทัดแบบดั้งเดิมและการแบ่งส่วน เส้นฐาน แบบประสาท, พร้อมการสนับสนุนที่ชัดเจน สำหรับสคริปต์และทิศทางที่แตกต่างกัน (LTR/RTL/แนวตั้ง).

โมเดลการรู้จำ. ม้างานโอเพนซอร์สคลาสสิก Tesseract (โอเพนซอร์สโดย Google, มีรากฐานที่ HP) พัฒนาจากตัวแยกประเภทอักขระเป็นตัวรู้จำลำดับ ที่ใช้ LSTM และสามารถส่งออก PDF ที่ค้นหาได้, เอาต์พุตที่เป็นมิตรกับ hOCR/ALTO, และอื่น ๆ จาก CLI. ตัวรู้จำสมัยใหม่พึ่งพาการสร้างแบบจำลองลำดับโดยไม่มีอักขระที่แบ่งส่วนไว้ล่วงหน้า. Connectionist Temporal Classification (CTC) ยังคงเป็นพื้นฐาน, เรียนรู้การจัดตำแหน่งระหว่างลำดับคุณลักษณะอินพุตและสตริงป้ายกำกับเอาต์พุต; มันถูกใช้อย่างกว้างขวาง ในไปป์ไลน์การเขียนด้วยลายมือและข้อความในฉาก.

ในช่วงไม่กี่ปีที่ผ่านมา, Transformers ได้ปรับเปลี่ยน OCR. TrOCR ใช้ตัวเข้ารหัส Vision Transformer บวกกับตัวถอดรหัส Text Transformer, ฝึกฝนบนคลังข้อมูลสังเคราะห์ขนาดใหญ่แล้ว ปรับละเอียดบนข้อมูลจริง, พร้อมประสิทธิภาพที่แข็งแกร่งในเกณฑ์มาตรฐานการพิมพ์, การเขียนด้วยลายมือ และข้อความในฉาก (ดูเพิ่มเติมที่ เอกสาร Hugging Face). ในขณะเดียวกัน, บางระบบข้าม OCR เพื่อความเข้าใจดาวน์สตรีม: Donut (Document Understanding Transformer) เป็นตัวเข้ารหัส-ถอดรหัสที่ไม่มี OCR ซึ่งส่งออกคำตอบที่มีโครงสร้างโดยตรง (เช่น JSON คีย์-ค่า) จากเอกสาร รูปภาพ (repo, การ์ดโมเดล), หลีกเลี่ยงการสะสมข้อผิดพลาดเมื่อขั้นตอน OCR แยกต่างหากป้อนระบบ IE.

เครื่องมือและไลบรารี

หากคุณต้องการการอ่านข้อความแบบครบวงจรในหลายสคริปต์, EasyOCR มี API ที่เรียบง่ายพร้อมโมเดลภาษามากกว่า 80 ภาษา, ส่งคืนกล่อง, ข้อความ, และความเชื่อมั่น—มีประโยชน์สำหรับต้นแบบและ สคริปต์ที่ไม่ใช่ภาษาละติน. สำหรับเอกสารทางประวัติศาสตร์, Kraken โดดเด่นด้วยการแบ่งส่วนเส้นฐานและการอ่านตามลำดับที่คำนึงถึงสคริปต์; สำหรับการฝึกอบรมระดับบรรทัดที่ยืดหยุ่น, Calamari สร้างขึ้นจากสายเลือด Ocropy (Ocropy) ด้วยตัวรู้จำ (หลาย)LSTM+CTC และ CLI สำหรับการปรับละเอียดโมเดลที่กำหนดเอง.

ชุดข้อมูลและเกณฑ์มาตรฐาน

การสรุปผลขึ้นอยู่กับข้อมูล. สำหรับการเขียนด้วยลายมือ, ฐานข้อมูลการเขียนด้วยลายมือ IAM ให้ประโยคภาษาอังกฤษที่หลากหลายสำหรับผู้เขียนสำหรับการฝึกอบรมและการประเมิน; มันเป็นชุดอ้างอิงที่มีมายาวนานสำหรับ การรู้จำบรรทัดและคำ. สำหรับข้อความในฉาก, COCO-Text ได้ใส่คำอธิบายประกอบอย่างกว้างขวางทับ MS-COCO, พร้อมป้ายกำกับสำหรับพิมพ์/เขียนด้วยลายมือ, อ่านได้/อ่านไม่ได้, สคริปต์, และ การถอดความแบบเต็ม (ดูเพิ่มเติมที่หน้า โครงการดั้งเดิม). สาขานี้ยังพึ่งพาการฝึกอบรมล่วงหน้าแบบสังเคราะห์อย่างมาก: SynthText in the Wild แสดงข้อความลงในภาพถ่ายด้วยรูปทรงเรขาคณิตและแสงที่สมจริง, ให้ข้อมูลจำนวนมหาศาลเพื่อฝึกอบรมล่วงหน้า ตัวตรวจจับและตัวรู้จำ (อ้างอิง โค้ดและข้อมูล).

การแข่งขันภายใต้ ICDAR’s Robust Reading ร่มช่วยให้การประเมินผลเป็นไปอย่างมีเหตุผล. งานล่าสุดเน้นการตรวจจับ/การอ่านแบบ end-to-end และรวมถึงการเชื่อมโยงคำ เป็นวลี, พร้อมโค้ดอย่างเป็นทางการที่รายงาน ความแม่นยำ/การเรียกคืน/F-score, intersection-over-union (IoU), และเมตริกระยะห่างการแก้ไขระดับอักขระ—สะท้อนสิ่งที่ผู้ปฏิบัติงานควรติดตาม.

รูปแบบเอาต์พุตและการใช้งานดาวน์สตรีม

OCR ไม่ค่อยจบลงที่ข้อความธรรมดา. หอจดหมายเหตุและห้องสมุดดิจิทัลต้องการ ALTO XML เพราะมันเข้ารหัสเลย์เอาต์ทางกายภาพ (บล็อก/บรรทัด/คำพร้อมพิกัด) ควบคู่ไปกับเนื้อหา, และมันเข้ากันได้ดี กับแพ็คเกจ METS. hOCR ไมโครฟอร์แมต, ในทางตรงกันข้าม, ฝังแนวคิดเดียวกันลงใน HTML/CSS โดยใช้คลาสเช่น ocr_line และ ocrx_word, ทำให้ง่ายต่อการแสดง, แก้ไข, และแปลงด้วยเครื่องมือเว็บ. Tesseract เปิดเผยทั้งสอง—เช่น, การสร้าง hOCR หรือ PDF ที่ค้นหาได้โดยตรงจาก CLI (คู่มือการส่งออก PDF); ตัวห่อหุ้ม Python เช่น pytesseract เพิ่มความสะดวก. มีตัวแปลงเพื่อแปลระหว่าง hOCR และ ALTO เมื่อที่เก็บมีมาตรฐานการนำเข้าที่ตายตัว —ดูรายการที่คัดสรรมานี้ของ เครื่องมือรูปแบบไฟล์ OCR.

คำแนะนำเชิงปฏิบัติ

  • เริ่มต้นด้วยข้อมูลและความสะอาด. หากภาพของคุณเป็นภาพถ่ายจากโทรศัพท์หรือสแกนคุณภาพผสม, ลงทุนในการกำหนดค่าขีดแบ่ง (ปรับตัวและ Otsu) และการปรับแก้ความเอียง (Hough) ก่อนการปรับแต่งโมเดลใด ๆ. คุณมักจะได้รับประโยชน์จากสูตรการประมวลผลเบื้องต้นที่แข็งแกร่งมากกว่าการเปลี่ยน ตัวรู้จำ.
  • เลือกตัวตรวจจับที่เหมาะสม. สำหรับหน้าที่สแกนด้วยคอลัมน์ปกติ, ตัวแบ่งส่วนหน้า (โซน → บรรทัด) อาจเพียงพอ; สำหรับภาพธรรมชาติ, ตัวตรวจจับแบบ single-shot เช่น EAST เป็นพื้นฐานที่แข็งแกร่งและเสียบเข้ากับชุดเครื่องมือมากมาย (ตัวอย่าง OpenCV).
  • เลือกตัวรู้จำที่ตรงกับข้อความของคุณ. สำหรับภาษาละตินที่พิมพ์, Tesseract (LSTM/OEM) แข็งแรงและรวดเร็ว; สำหรับหลายสคริปต์หรือต้นแบบที่รวดเร็ว, EasyOCR มีประสิทธิผล; สำหรับการเขียนด้วยลายมือหรือแบบอักษรทางประวัติศาสตร์, พิจารณา Kraken หรือ Calamari และวางแผนที่จะปรับละเอียด. หากคุณต้องการการเชื่อมต่อที่แน่นแฟ้นกับการทำความเข้าใจเอกสาร (การดึงข้อมูลคีย์-ค่า, VQA), ประเมิน TrOCR (OCR) เทียบกับ Donut (ไม่มี OCR) บนสกีมาของคุณ—Donut อาจลบขั้นตอนการรวมทั้งหมด.
  • วัดสิ่งที่สำคัญ. สำหรับระบบ end-to-end, รายงานการตรวจจับ F-score และการรู้จำ CER/WER (ทั้งสองขึ้นอยู่กับระยะห่างการแก้ไข Levenshtein ; ดู CTC); สำหรับงานที่เน้นเลย์เอาต์, ติดตาม IoU/ความแน่นและระยะห่างการแก้ไขที่ปรับให้เป็นมาตรฐานระดับอักขระดังใน ชุดประเมิน ICDAR RRC .
  • ส่งออกเอาต์พุตที่สมบูรณ์. ต้องการ hOCR /ALTO (หรือทั้งสองอย่าง) เพื่อให้คุณเก็บพิกัดและลำดับการอ่าน—สำคัญสำหรับการเน้นผลการค้นหา, การดึงข้อมูลตาราง/ฟิลด์ , และที่มา. CLI ของ Tesseract และ pytesseract ทำให้สิ่งนี้เป็นเรื่องง่าย.

มองไปข้างหน้า

แนวโน้มที่แข็งแกร่งที่สุดคือการบรรจบกัน: การตรวจจับ, การรู้จำ, การสร้างแบบจำลองภาษา, และแม้แต่การถอดรหัสเฉพาะงาน กำลังรวมกันเป็นสแต็ก Transformer ที่เป็นหนึ่งเดียว. การฝึกอบรมล่วงหน้าบน คลังข้อมูลสังเคราะห์ขนาดใหญ่ ยังคงเป็นตัวคูณกำลัง. โมเดลที่ไม่มี OCR จะแข่งขันอย่างดุเดือดทุกที่ที่เป้าหมายเป็นเอาต์พุตที่มีโครงสร้าง แทนที่จะเป็นการถอดความแบบคำต่อคำ. คาดหวังการปรับใช้แบบไฮบริดด้วย: ตัวตรวจจับน้ำหนักเบาบวกกับตัวรู้จำสไตล์ TrOCR สำหรับข้อความยาว, และโมเดลสไตล์ Donut สำหรับแบบฟอร์มและใบเสร็จ.

การอ่านเพิ่มเติมและเครื่องมือ

Tesseract (GitHub) · เอกสาร Tesseract · ข้อมูลจำเพาะ hOCR · พื้นหลัง ALTO · ตัวตรวจจับ EAST · การตรวจจับข้อความ OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · การเขียนด้วยลายมือ IAM · เครื่องมือรูปแบบไฟล์ OCR · EasyOCR

คำถามที่ถามบ่อย

OCR คืออะไร?

Optical Character Recognition (OCR) เป็นเทคโนโลยีที่ใช้ในการแปลงประเภทต่าง ๆ ของเอกสาร เช่น ผลงานที่สแกนด้วยกระดาษ PDF ไฟล์หรือภาพที่ถ่ายด้วยกล้องดิจิตอล ให้เป็นข้อมูลที่สามารถแก้ไขและค้นหาได้

OCR ทำงานอย่างไร?

OCR ทำงานโดยการสแกนภาพนำเข้าต่างๆหรือเอกสาร การแบ่งภาพออกเป็นตัวอักษรแต่ละตัว แล้วเปรียบเทียบแต่ละตัวอักษรกับฐานข้อมูลแบบรูปของตัวอักษรโดยใช้การจดจำรูปแบบหรือจดจำลักษณะ

มีการประยุกต์ใช้ OCR อย่างไรบ้าง?

OCR ถูกนำไปใช้ในหลายภาคและการประยุกต์ใช้ เช่น การเปลี่ยนเอกสารที่พิมพ์ออกมาเป็นดิจิตอล การเปิดให้บริการอักษรเป็นเสียง การทำให้กระบวนการกรอกข้อมูลเป็นอัตโนมัติ และสนับสนุนผู้ที่มีความบกพร่องทางการมองเห็นให้สามารถสัมผัสปฏิสัมพันธ์กับข้อความได้ตรงตามความต้องการ

OCR มีความแม่นยำ 100% ไหม?

อย่างไรก็ตาม ทั้งที่เทคโนโลยี OCR ได้พัฒนามาอย่างมาก แต่ยังไม่มีความสมบูรณ์ การมีความแม่นยำมักจะขึ้นอยู่กับคุณภาพของเอกสารเดิมและรายละเอียดของซอฟต์แวร์ OCR ที่ใช้

OCR สามารถจดจำลายมือได้ไหม?

ถึงแม้ว่า OCR ถูกออกแบบมาสำหรับข้อความที่พิมพ์ แต่ระบบ OCR ที่ระดับสูงบางระบบสามารถจดจำลายมือที่ชัดเจน สอดคล้องได้ อย่างไรก็ดี ทั่วไปแล้วการจดจำลายมือมีความแม่นยำน้อยกว่า เนื่องจากมีการผันแปรของรูปแบบการเขียนของแต่ละคน

OCR จัดการภาษาหลายภาษาได้ไหม?

ใช่ ซอฟต์แวร์ OCR หลายระบบสามารถจดจำภาษาหลายภาษา อย่างไรก็ตาม สำคัญที่จะต้องดูว่าภาษาที่ต้องการได้รับการสนับสนุนโดยซอฟต์แวร์ที่คุณใช้

ความแตกต่างระหว่าง OCR และ ICR คืออะไร?

OCR ย่อมาจาก Optical Character Recognition และใช้ในการจดจำข้อความที่พิมพ์ขณะที่ ICR หรือ Intelligent Character Recognition ที่ทันสมัยยิ่งขึ้นและใช้สำหรับการจดจำข้อความที่เขียนด้วยมือ

OCR ไม่สามารถทำงานด้วยประเภทและขนาดข้อความใดได้?

OCR ทำงานได้ดีที่สุดกับแบบอักษรที่ชัดเจน, สามารถอ่านได้ง่ายและมีขนาดข้อความมาตรฐาน ในขณะที่มันสามารถทำงานได้กับแบบอักษรและขนาดที่หลากหลาย แต่ความถูกต้องมักจะลดลงเมื่อจัดการกับแบบอักษรที่ไม่ปกติหรือขนาดข้อความที่เล็กมาก

มีข้อจำกัดอะไรบ้างที่เทคโนโลยี OCR?

OCR อาจพบปัญหากับเอกสารที่มีความละเอียดต่ำ, แบบอักษรซับซ้อน, ข้อความที่พิมพ์ไม่ดี, ลายมือ และเอกสารที่มีพื้นหลังที่แทรกซ้อนกับข้อความ นอกจากนี้ อย่างไรก็ตาม อาจใช้งานกับภาษาหลายภาษาได้ มันอาจไม่ครอบคลุมทุกภาษาอย่างสมบูรณ์

OCR สามารถสแกนข้อความที่สีหรือพื้นหลังที่มีสีได้หรือไม่?

ใช่ OCR สามารถสแกนข้อความที่มีสีและพื้นหลังที่มีสี แม้ว่าจะมีประสิทธิภาพมากขึ้นด้วยสีที่มีความเปรียบเทียบความตัดกัน เช่น ข้อความดำบนพื้นหลังสีขาว ความถูกต้องอาจลดลงเมื่อสีข้อความและสีพื้นหลังไม่มีความคมชัดเพียงพอ

รูปแบบ PBM คืออะไร?

รูปแบบบิตแมปพกพา (ขาวและดำ)

รูปแบบ PBM (Portable Bitmap) เป็นหนึ่งในรูปแบบไฟล์กราฟิกที่ง่ายที่สุดและเก่าแก่ที่สุดที่ใช้สำหรับจัดเก็บภาพขาวดำ เป็นส่วนหนึ่งของชุด Netpbm ซึ่งรวมถึง PGM (Portable GrayMap) สำหรับภาพโทนสีเทาและ PPM (Portable PixMap) สำหรับภาพสี รูปแบบ PBM ออกแบบมาให้สามารถอ่านและเขียนได้ง่ายมากในโปรแกรม และให้มีความชัดเจนและไม่คลุมเครือ ไม่ได้มีจุดประสงค์ให้เป็นรูปแบบที่แยกออกมา แต่เป็นตัวส่วนร่วมที่น้อยที่สุดสำหรับการแปลงระหว่างรูปแบบภาพที่แตกต่างกัน

รูปแบบ PBM รองรับเฉพาะภาพขาวดำ (1 บิต) พิกเซลแต่ละพิกเซลในภาพแสดงด้วยบิตเดียว 0 สำหรับสีขาวและ 1 สำหรับสีดำ ความเรียบง่ายของรูปแบบทำให้สามารถจัดการได้โดยตรงโดยใช้เครื่องมือแก้ไขข้อความพื้นฐานหรือภาษาโปรแกรมโดยไม่จำเป็นต้องใช้ไลบรารีการประมวลผลภาพเฉพาะ อย่างไรก็ตาม ความเรียบง่ายนี้ยังหมายความว่าไฟล์ PBM อาจมีขนาดใหญ่กว่ารูปแบบที่ซับซ้อนกว่า เช่น JPEG หรือ PNG ซึ่งใช้ขั้นตอนวิธีการบีบอัดเพื่อลดขนาดไฟล์

มีรูปแบบ PBM สองแบบ ได้แก่ รูปแบบ ASCII (ธรรมดา) ที่เรียกว่า P1 และรูปแบบไบนารี (ดิบ) ที่เรียกว่า P4 รูปแบบ ASCII สามารถอ่านได้โดยมนุษย์และสามารถสร้างหรือแก้ไขได้ด้วยโปรแกรมแก้ไขข้อความง่ายๆ รูปแบบไบนารีไม่สามารถอ่านได้โดยมนุษย์ แต่ใช้พื้นที่ได้อย่างมีประสิทธิภาพมากกว่าและโปรแกรมสามารถอ่านและเขียนได้เร็วกว่า แม้จะมีความแตกต่างในการจัดเก็บ แต่ทั้งสองรูปแบบแสดงข้อมูลภาพประเภทเดียวกันและสามารถแปลงระหว่างกันได้โดยไม่สูญเสียข้อมูล

โครงสร้างของไฟล์ PBM ในรูปแบบ ASCII เริ่มต้นด้วยหมายเลขวิเศษสองไบต์ที่ระบุชนิดไฟล์ สำหรับรูปแบบ PBM ASCII จะเป็น 'P1' ถัดจากหมายเลขวิเศษจะมีช่องว่าง (ช่องว่าง แท็บ CR LF) จากนั้นเป็นข้อกำหนดความกว้าง ซึ่งเป็นจำนวนคอลัมน์ในภาพ ตามด้วยช่องว่างเพิ่มเติม จากนั้นเป็นข้อกำหนดความสูง ซึ่งเป็นจำนวนแถวในภาพ หลังจากข้อกำหนดความสูงจะมีช่องว่างเพิ่มเติม จากนั้นข้อมูลพิกเซลจะเริ่มต้นขึ้น

ข้อมูลพิกเซลในไฟล์ PBM แบบ ASCII ประกอบด้วยชุดของ '0' และ '1' โดย '0' แต่ละตัวแทนพิกเซลสีขาวและ '1' แต่ละตัวแทนพิกเซลสีดำ พิกเซลจะจัดเรียงเป็นแถว โดยแต่ละแถวของพิกเซลจะอยู่ในบรรทัดใหม่ อนุญาตให้มีช่องว่างได้ทุกที่ในข้อมูลพิกเซล ยกเว้นภายในลำดับอักขระสองตัว (ไม่อนุญาตให้มีช่องว่างระหว่างอักขระสองตัวของลำดับ) จะถึงจุดสิ้นสุดของไฟล์หลังจากอ่านบิต width*height

ในทางตรงกันข้าม รูปแบบ PBM ไบนารีจะเริ่มต้นด้วยหมายเลขวิเศษ 'P4' แทนที่จะเป็น 'P1' หลังจากหมายเลขวิเศษ รูปแบบของไฟล์จะเหมือนกับเวอร์ชัน ASCII จนกว่าข้อมูลพิกเซลจะเริ่มต้นขึ้น ข้อมูลพิกเซลไบนารีจะถูกจัดเก็บเป็นไบต์ โดยบิตที่มีนัยสำคัญที่สุด (MSB) ของแต่ละไบต์แทนพิกเซลที่อยู่ซ้ายสุด และแต่ละแถวของพิกเซลจะถูกเติมเต็มตามความจำเป็นเพื่อเติมไบต์สุดท้าย บิตเติมเต็มไม่มีนัยสำคัญและค่าของบิตเหล่านั้นจะถูกละเว้น

รูปแบบไบนารีใช้พื้นที่ได้อย่างมีประสิทธิภาพมากกว่าเนื่องจากใช้ไบต์เต็มเพื่อแทนพิกเซลแปดพิกเซล ซึ่งต่างจากรูปแบบ ASCII ที่ใช้ไบต์อย่างน้อยแปดไบต์ (หนึ่งอักขระต่อพิกเซลบวกช่องว่าง) อย่างไรก็ตาม รูปแบบไบนารีไม่สามารถอ่านได้โดยมนุษย์และต้องใช้โปรแกรมที่เข้าใจรูปแบบ PBM เพื่อแสดงหรือแก้ไขภาพ

การสร้างไฟล์ PBM ด้วยโปรแกรมค่อนข้างง่าย ในภาษาโปรแกรม เช่น C จะเปิดไฟล์ในโหมดเขียน เอาต์พุตหมายเลขวิเศษที่เหมาะสม เขียนความกว้างและความสูงเป็นตัวเลข ASCII ที่คั่นด้วยช่องว่าง จากนั้นเอาต์พุตข้อมูลพิกเซล สำหรับ PBM แบบ ASCII ข้อมูลพิกเซลสามารถเขียนเป็นชุดของ '0' และ '1' พร้อมแบ่งบรรทัดที่เหมาะสม สำหรับ PBM แบบไบนารี ข้อมูลพิกเซลจะต้องถูกจัดเก็บเป็นไบต์และเขียนลงในไฟล์ในโหมดไบนารี

การอ่านไฟล์ PBM ก็ง่ายเช่นกัน โปรแกรมจะอ่านหมายเลขวิเศษเพื่อกำหนดรูปแบบ ข้ามช่องว่าง อ่านความกว้างและความสูง ข้ามช่องว่างเพิ่มเติม จากนั้นอ่านข้อมูลพิกเซล สำหรับ PBM แบบ ASCII โปรแกรมสามารถอ่านอักขระทีละตัวและตีความเป็นค่าพิกเซล สำหรับ PBM แบบไบนารี โปรแกรมจะต้องอ่านไบต์และแยกออกเป็นบิตแต่ละบิตเพื่อรับค่าพิกเซล

รูปแบบ PBM ไม่รองรับการบีบอัดหรือการเข้ารหัสใดๆ ซึ่งหมายความว่าขนาดไฟล์จะแปรผันโดยตรงกับจำนวนพิกเซลในภาพ สิ่งนี้อาจส่งผลให้ไฟล์มีขนาดใหญ่มากสำหรับภาพความละเอียดสูง อย่างไรก็ตาม ความเรียบง่ายของรูปแบบทำให้เหมาะสำหรับการเรียนรู้เกี่ยวกับการประมวลผลภาพ เพื่อใช้ในสถานการณ์ที่ความเที่ยงตรงของภาพมีความสำคัญมากกว่าขนาดไฟล์ หรือเพื่อใช้เป็นรูปแบบตัวกลางในกระบวนการแปลงภาพ

ข้อดีอย่างหนึ่งของรูปแบบ PBM คือความเรียบง่ายและความง่ายในการจัดการ ตัวอย่างเช่น ในการกลับภาพ PBM (เปลี่ยนพิกเซลสีดำทั้งหมดให้เป็นสีขาวและในทางกลับกัน) เพียงแค่แทนที่ '0' ทั้งหมดด้วย '1' และ '1' ทั้งหมดด้วย '0' ในข้อมูลพิกเซล สิ่งนี้สามารถทำได้ด้วยสคริปต์หรือโปรแกรมประมวลผลข้อความง่ายๆ ในทำนองเดียวกัน การดำเนินการกับภาพพื้นฐานอื่นๆ เช่น การหมุนหรือการสะท้อนสามารถใช้ขั้นตอนวิธีการง่ายๆ ได้

แม้จะมีความเรียบง่าย แต่รูปแบบ PBM ก็ไม่ได้ใช้กันอย่างแพร่หลายสำหรับการจัดเก็บหรือแลกเปลี่ยนภาพทั่วไป สาเหตุหลักมาจากการที่ไม่มีการบีบอัด ซึ่งทำให้ไม่มีประสิทธิภาพสำหรับการจัดเก็บภาพขนาดใหญ่หรือสำหรับการใช้งานผ่านอินเทอร์เน็ตที่แบนด์วิดท์อาจเป็นปัญหา รูปแบบที่ทันสมัยกว่า เช่น JPEG, PNG และ GIF มีการบีบอัดในรูปแบบต่างๆ และเหมาะกว่าสำหรับวัตถุประสงค์เหล่านี้ อย่างไรก็ตาม รูปแบบ PBM ยังคงใช้ในบางบริบท โดยเฉพาะอย่างยิ่งสำหรับกราฟิกง่ายๆ ในการพัฒนาซอฟต์แวร์ และเป็นเครื่องมือสอนสำหรับแนวคิดการประมวลผลภาพ

ชุด Netpbm ซึ่งรวมถึงรูปแบบ PBM มีชุดเครื่องมือสำหรับจัดการไฟล์ PBM, PGM และ PPM เครื่องมือเหล่านี้ช่วยให้สามารถแปลงระหว่างรูปแบบ Netpbm และรูปแบบภาพยอดนิยมอื่นๆ รวมถึงการดำเนินการประมวลผลภาพพื้นฐาน เช่น การปรับขนาด การครอบตัด และการจัดการสี ชุดนี้ได้รับการออกแบบให้ขยายได้ง่าย โดยมีอินเทอร์เฟซที่เรียบง่ายสำหรับการเพิ่มฟังก์ชันการทำงานใหม่

โดยสรุป รูปแบบภาพ PBM เป็นรูปแบบไฟล์ที่เรียบง่ายและไม่มีอะไรพิเศษสำหรับการจัดเก็บภาพบิตแมปขาวดำ ความเรียบง่ายทำให้เข้าใจและจัดการได้ง่าย ซึ่งอาจเป็นประโยชน์สำหรับวัตถุประสงค์ทางการศึกษาหรือสำหรับงานประมวลผลภาพง่ายๆ แม้ว่าจะไม่เหมาะสำหรับทุกแอปพลิเคชันเนื่องจากไม่มีการบีบอัดและส่งผลให้ขนาดไฟล์มีขนาดใหญ่ แต่ก็ยังคงเป็นรูปแบบที่มีประโยชน์ในบริบทเฉพาะที่จุดแข็งของรูปแบบนั้นมีประโยชน์มากที่สุด รูปแบบ PBM พร้อมกับชุด Netpbm ที่เหลือยังคงเป็นเครื่องมือที่มีค่าสำหรับผู้ที่ทำงานกับการประมวลผลภาพพื้นฐานและการแปลงรูปแบบ

รูปแบบที่รองรับ

AAI.aai

ภาพ AAI Dune

AI.ai

Adobe Illustrator CS2

AVIF.avif

รูปแบบไฟล์ภาพ AV1

BAYER.bayer

ภาพ Bayer ดิบ

BMP.bmp

ภาพ bitmap ของ Microsoft Windows

CIN.cin

ไฟล์ภาพ Cineon

CLIP.clip

Image Clip Mask

CMYK.cmyk

ตัวอย่างสีฟ้า, สีแม่จัน, สีเหลือง, และสีดำดิบ

CUR.cur

ไอคอนของ Microsoft

DCX.dcx

ZSoft IBM PC multi-page Paintbrush

DDS.dds

Microsoft DirectDraw Surface

DPX.dpx

ภาพ SMTPE 268M-2003 (DPX 2.0)

DXT1.dxt1

Microsoft DirectDraw Surface

EPDF.epdf

รูปแบบเอกสารพกพาที่มีการหุ้มห่อ

EPI.epi

รูปแบบการแลกเปลี่ยน PostScript ที่มีการหุ้มห่อของ Adobe

EPS.eps

Adobe Encapsulated PostScript

EPSF.epsf

Adobe Encapsulated PostScript

EPSI.epsi

รูปแบบการแลกเปลี่ยน PostScript ที่มีการหุ้มห่อของ Adobe

EPT.ept

PostScript ที่มีการหุ้มห่อพร้อมตัวอย่าง TIFF

EPT2.ept2

ระดับ PostScript ที่มีการหุ้มห่อ II พร้อมตัวอย่าง TIFF

EXR.exr

ภาพที่มีช่วงไดนามิกสูง (HDR)

FF.ff

Farbfeld

FITS.fits

ระบบการขนส่งภาพที่ยืดหยุ่น

GIF.gif

รูปแบบการแลกเปลี่ยนกราฟิกของ CompuServe

HDR.hdr

ภาพที่มีช่วงไดนามิกสูง

HEIC.heic

คอนเทนเนอร์ภาพประสิทธิภาพสูง

HRZ.hrz

Slow Scan TeleVision

ICO.ico

ไอคอนของ Microsoft

ICON.icon

ไอคอนของ Microsoft

J2C.j2c

codestream JPEG-2000

J2K.j2k

codestream JPEG-2000

JNG.jng

กราฟิกเครือข่าย JPEG

JP2.jp2

รูปแบบไฟล์ JPEG-2000

JPE.jpe

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPEG.jpeg

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPG.jpg

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPM.jpm

รูปแบบไฟล์ JPEG-2000

JPS.jps

รูปแบบ JPS ของกลุ่มผู้เชี่ยวชาญด้านภาพร่วม

JPT.jpt

รูปแบบไฟล์ JPEG-2000

JXL.jxl

ภาพ JPEG XL

MAP.map

ฐานข้อมูลภาพที่ไม่มีรอยต่อและมีความละเอียดหลายระดับ (MrSID)

MAT.mat

รูปแบบภาพ MATLAB level 5

PAL.pal

พิกซ์แมป Palm

PALM.palm

พิกซ์แมป Palm

PAM.pam

รูปแบบบิตแมป 2 มิติทั่วไป

PBM.pbm

รูปแบบบิตแมปพกพา (ขาวและดำ)

PCD.pcd

Photo CD

PCT.pct

Apple Macintosh QuickDraw/PICT

PCX.pcx

ZSoft IBM PC Paintbrush

PDB.pdb

รูปแบบ ImageViewer ฐานข้อมูล Palm

PDF.pdf

รูปแบบเอกสารพกพา

PDFA.pdfa

รูปแบบเอกสารเก็บถาวร

PFM.pfm

รูปแบบลอยพกพา

PGM.pgm

รูปแบบกรายแมปพกพา (สเกลเทา)

PGX.pgx

รูปแบบไม่บีบอัด JPEG 2000

PICT.pict

Apple Macintosh QuickDraw/PICT

PJPEG.pjpeg

รูปแบบ JFIF ของกลุ่มผู้เชี่ยวชาญด้านภาพถ่ายร่วม

PNG.png

กราฟิกเครือข่ายพกพา

PNG00.png00

PNG สืบทอดความลึกบิต, ประเภทสีจากรูปภาพเดิม

PNG24.png24

RGB 24 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี (zlib 1.2.11)

PNG32.png32

RGBA 32 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNG48.png48

RGB 48 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNG64.png64

RGBA 64 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNG8.png8

8 บิตที่ไม่โปร่งใสหรือโปร่งใสแบบไบนารี

PNM.pnm

anymap พกพา

PPM.ppm

รูปแบบพิกซ์แมปพกพา (สี)

PS.ps

ไฟล์ Adobe PostScript

PSB.psb

รูปแบบเอกสารขนาดใหญ่ของ Adobe

PSD.psd

บิตแมป Adobe Photoshop

RGB.rgb

ตัวอย่างสีแดง, สีเขียว, และสีน้ำเงินดิบ

RGBA.rgba

ตัวอย่างสีแดง, สีเขียว, สีน้ำเงิน, และสีอัลฟาดิบ

RGBO.rgbo

ตัวอย่างสีแดง, สีเขียว, สีน้ำเงิน, และความทึบดิบ

SIX.six

รูปแบบกราฟิก DEC SIXEL

SUN.sun

Sun Rasterfile

SVG.svg

กราฟิกเวกเตอร์ขนาดยืดหยุ่น

TIFF.tiff

รูปแบบไฟล์ภาพที่มีแท็ก

VDA.vda

ภาพ Truevision Targa

VIPS.vips

ภาพ VIPS

WBMP.wbmp

ภาพ Bitmap ไร้สาย (ระดับ 0)

WEBP.webp

รูปแบบภาพ WebP

YUV.yuv

CCIR 601 4:1:1 หรือ 4:2:2

คำถามที่ถามบ่อย

ทำงานอย่างไร

ตัวแปลงนี้ทำงานอย่างสมบูรณ์ในเบราว์เซอร์ของคุณ เมื่อคุณเลือกไฟล์ ไฟล์จะถูกอ่านเข้าไปในหน่วยความจำและแปลงเป็นรูปแบบที่เลือก จากนั้นคุณสามารถดาวน์โหลดไฟล์ที่แปลงแล้วได้

การแปลงไฟล์ใช้เวลานานเท่าใด

การแปลงจะเริ่มขึ้นทันที และไฟล์ส่วนใหญ่จะถูกแปลงภายในเวลาไม่ถึงหนึ่งวินาที ไฟล์ขนาดใหญ่อาจใช้เวลานานกว่านั้น

จะเกิดอะไรขึ้นกับไฟล์ของฉัน

ไฟล์ของคุณจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา ไฟล์เหล่านั้นจะถูกแปลงในเบราว์เซอร์ของคุณ จากนั้นไฟล์ที่แปลงแล้วจะถูกดาวน์โหลด เราไม่เคยเห็นไฟล์ของคุณ

ฉันสามารถแปลงไฟล์ประเภทใดได้บ้าง

เรารองรับการแปลงระหว่างรูปแบบภาพทั้งหมด รวมถึง JPEG, PNG, GIF, WebP, SVG, BMP, TIFF และอื่นๆ

ค่าใช้จ่ายเท่าไหร่

ตัวแปลงนี้ฟรีโดยสมบูรณ์ และจะฟรีตลอดไป เนื่องจากทำงานในเบราว์เซอร์ของคุณ เราจึงไม่ต้องจ่ายค่าเซิร์ฟเวอร์ ดังนั้นเราจึงไม่เรียกเก็บเงินจากคุณ

ฉันสามารถแปลงหลายไฟล์พร้อมกันได้หรือไม่

ใช่! คุณสามารถแปลงไฟล์ได้มากเท่าที่คุณต้องการในคราวเดียว เพียงเลือกหลายไฟล์เมื่อคุณเพิ่ม