Skip to main content

Mã chuỗi là gì?

Trong đồ họa máy tính và xử lý hình ảnh, mã chuỗi là một thuật toán được sử dụng để mã hóa các đường viền của một đối tượng trong hình ảnh màu đen và trắng, hoặc đơn sắc.Trình tự kết quả của các mã có thể mô tả cách vẽ phác thảo của đối tượng so với hình ảnh mà nó được đặt, hoặc nó có thể là một tập hợp các hướng liên quan đến vị trí trên phác thảo nơi thuật toán bắt đầu, về cơ bản là cung cấp các bước màcó thể được theo dõi để vẽ lại đối tượng.Các mã này có thể được chuẩn hóa theo một công thức và sau đó so sánh với một mã chuỗi khác để xác định xem hai đối tượng có giống hệt nhau không.Một mã chuỗi có thể được sử dụng để cách ly các đối tượng trong chương trình tầm nhìn máy tính hoặc phân đoạn hình ảnh trong xử lý hình ảnh, mặc dù nó thường có thể được sử dụng trong các chương trình nhận dạng ký tự quang học (OCR). Mặc dù có một số thuật toán được thiết lập cho mã chuỗi,Khái niệm cơ bản là giống nhau trong mỗi.Đầu tiên, cạnh của một đối tượng được đặt, thường là bằng cách di chuyển pixel bằng pixel thông qua hình ảnh raster.Sau khi định vị, vị trí được ghi lại và các cạnh xung quanh được phát hiện.Tùy thuộc vào việc thuật toán phát hiện sẽ di chuyển theo chiều kim đồng hồ hay ngược chiều kim đồng hồ, vị trí hiện tại được di chuyển theo hướng này hay hướng khác dọc theo cạnh cho đến khi nó trở về vị trí ban đầu..Số này thường chỉ ra hướng được di chuyển dọc theo cạnh của đối tượng.Ví dụ: nếu một thuật toán mã chuỗi theo một cạnh thẳng từ phải sang trái, thì mỗi lần cạnh được theo dõi sang trái, mã số cho bên trái được thêm vào cuối mã.Mã kết quả là một chuỗi các số trong đó, nếu chuỗi được theo sau từ điểm bắt đầu tùy ý và một pixel được đặt ở mỗi bướcĐược hoàn thành, một số thuật toán khác nhau có thể được áp dụng cho nó để giúp so sánh với các chuỗi mã chuỗi khác.Đầu tiên, số được chuẩn hóa bằng cách xoay số bắt đầu cho đến khi giá trị số nguyên thấp nhất được xác định.Theo cách này, hai đối tượng có cùng một phác thảo có thể được so sánh, bất kể ở đâu trên mỗi đối tượng mà mã hóa bắt đầu. Các phiên bản khác, phức tạp hơn của thuật toán mã chuỗi tồn tại.Chúng bao gồm mã hóa dựa trên vector trong đó phác thảo của một đối tượng được mô tả bởi một chuỗi tọa độ được kết nối bằng các dòng, mặc dù phương pháp này có thể bị mất khi được sử dụng trên các phác thảo chi tiết tinh xảo.Một phiên bản của thuật toán cũng tồn tại sử dụng mã hóa độ dài chạy (RLE) để nén thêm các mã cho các đối tượng lớn hoặc phức tạp đặc biệt để chúng có thể được lưu trữ một cách hiệu quả hơn.