รหัส 39 ที่พัฒนาขึ้นในปี 1974 เป็นหนึ่งในสัญลักษณ์หรือประเภทบาร์โค้ดที่ใช้กันมากที่สุดแม้ว่าจะเป็นระบบ UPC / EAN ที่พบเห็นได้บ่อยที่สุดในการขายปลีก บาร์โค้ด 39 รหัสสามารถเข้ารหัสตัวอักษรตัวพิมพ์ใหญ่ตัวเลขและสัญลักษณ์บางอย่างและพิมพ์เล็กน้อยจากซอฟต์แวร์คอมพิวเตอร์โดยใช้แบบอักษรพิเศษ สิ่งนี้นำไปสู่การใช้ในเชิงพาณิชย์และอุตสาหกรรมอย่างกว้างขวาง (เช่นป้าย ID บริษัท , การติดตามสินทรัพย์, ระบบอัตโนมัติในโรงงาน)
สร้างโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดเพื่ออ่านบาร์โค้ด Code 39 ในทิศทางใดก็ได้จากภาพระดับสีเทาขนาด 512x512 พิกเซล; บาร์โค้ดอาจไม่เรียงแนวนอนหรือแนวตั้ง
- โปรแกรมของคุณต้องยอมรับรูปแบบไฟล์ภาพมาตรฐานและสร้างข้อมูลที่เข้ารหัสในบาร์โค้ดเป็นเอาต์พุตมาตรฐานหรือค่าส่งคืน (ไม่รวมอักขระเริ่มต้น / หยุด)
- ไม่มีภาพที่มีบาร์โค้ดรหัส 39 ที่ถูกต้องมากกว่าหนึ่งและไม่มีบาร์โค้ดเข้ารหัสอักขระช่องว่าง (ASCII 32)
- หากไม่มีบาร์โค้ดรหัส 39 ที่ถูกต้องแสดงในภาพโปรแกรมจะต้องส่งออกเครื่องหมายคำถามเดียว (
?)
ฉันได้เตรียมการใช้งานอ้างอิง JavaScript และชุดทดสอบรูปภาพในรูปแบบ PNG ทั้งที่มีบาร์โค้ดและไม่มี การใช้งานอ้างอิงซึ่งล้มเหลวเพียง 3 จาก 46 กรณีทดสอบในเว็บเบราว์เซอร์ล่าสุดมีจุดประสงค์เพื่อแสดงอัลกอริธึมการถอดรหัสที่เป็นไปได้หนึ่งวิธีไม่ให้ปฏิบัติตามข้อกำหนดข้างต้นอย่างเคร่งครัด
การส่งที่ถูกต้องผ่านอย่างน้อย 80% ของการทดสอบเหล่านี้ (37/46) และใช้เวลาไม่เกินหนึ่งนาทีในการทำเช่นนั้นสำหรับแต่ละภาพบน CPU ที่เร็วพอสมควร (เช่น 2.6 GHz quad-core) การใช้งานอ้างอิงของฉันผ่านการทดสอบ 93% และประมวลผลแต่ละภาพภายใน 10 วินาที (บนเดสก์ท็อปพีซีของฉันที่ใช้ Google Chrome)
(คำถามนี้ถูกเสนอบน Metaเมื่อวันที่ 28 พฤษภาคม 2011)