Computer >> Máy Tính >  >> Lập trình >> Lập trình

Sự khác biệt giữa thuật toán lấp đầy lũ và lấp đầy ranh giới

Trong bài đăng này, chúng ta sẽ hiểu sự khác biệt giữa thuật toán lấp đầy lũ và thuật toán lấp đầy ranh giới. Chúng là các thuật toán lấp đầy vùng và chúng có thể được phân biệt dựa trên việc một pixel ngẫu nhiên có màu gốc của vùng đó hay không.

Thuật toán lấp đầy lũ

  • Nó còn được gọi là thuật toán điền hạt giống.
  • Nó tính toán khu vực được kết nối với một nút nhất định đối với một mảng nhiều chiều.
  • Nó hoạt động bằng cách lấp đầy hoặc tô màu lại một khu vực cụ thể có các màu khác nhau ở phần bên trong và do đó, là ranh giới của hình ảnh.
  • Nó được thể hiện bằng một bức tranh có vùng lân cận có đường viền và các vùng màu riêng biệt.
  • Màu nội thất cụ thể có thể được thay thế để làm giảm các bộ phận này.
  • Mức tiêu thụ bộ nhớ cao.
  • Đây là một thuật toán tương đối đơn giản.
  • Nó có khả năng xử lý hình ảnh có nhiều hơn một màu ranh giới.
  • Nó tương đối chậm hơn so với thuật toán lấp đầy ranh giới.
  • Một màu ngẫu nhiên có thể được sử dụng để sơn phần bên trong và điểm ảnh cũ được thay thế bằng điểm ảnh mới.
  • Đây là một thuật toán hiệu quả.

Hai phương pháp có thể được sử dụng để tạo nhiều ranh giới bằng cách kết nối các pixel.

  • Cách 4 kết nối:Trong phương pháp này, pixel có thể có tối đa bốn vùng lân cận. Chúng sẽ được đặt ở các vị trí - trái, phải, trên và dưới pixel hiện tại.
  • Cách 8 kết nối:Trong phương pháp này, pixel có thể có tối đa 8 lân cận. Các vị trí lân cận được kiểm tra dựa trên bốn pixel đường chéo.

Thuật toán điền đầy ranh giới

  • Khi ranh giới chứa một màu, thuật toán sẽ tiếp tục theo hướng ra ngoài, từng pixel một cho đến khi tìm thấy màu ranh giới.
  • Nó được thực hiện trong các gói tranh tương tác, nơi bạn có thể dễ dàng chọn các điểm bên trong.
  • Thuật toán bắt đầu bằng cách chấp nhận tọa độ của một điểm bên trong (x, y), màu ranh giới và màu tô sẽ trở thành đầu vào.
  • Từ điểm (x, y), thuật toán kiểm tra các vị trí lân cận của nó để xác định xem chúng có phải là một phần của màu ranh giới hay không.
  • Nếu chúng không thuộc màu ranh giới, thì nó sẽ được sơn bằng màu tô và các pixel lân cận được kiểm tra với cùng một điều kiện.
  • Quá trình này kết thúc khi tất cả các pixel cho đến màu ranh giới được kiểm tra.
  • Khu vực được xác định bằng một màu duy nhất.
  • Mức tiêu thụ bộ nhớ thấp hơn.
  • Nó nhanh hơn so với thuật toán lấp đầy.
  • Nó phức tạp so với thuật toán lấp đầy.
  • Nó có thể xử lý hình ảnh có một màu ranh giới.