Skip to main content

รหัสโซ่คืออะไร?

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

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

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

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

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