Triển khai kỹ thuật nâng cấp


15

Vì vậy, tôi đã thấy bicubic và fractal được liệt kê là phương pháp nâng cấp hình ảnh. Các chi tiết kỹ thuật đằng sau cách thức hoạt động của chúng và tại sao / khi nào thì tốt hơn cái kia?


tăng kích thước: song tuyến; giảm kích thước: lanczos 3.

Câu trả lời:


15

Trước hết, việc phóng to hình ảnh bao gồm việc di chuyển các pixel cách nhau một lượng cố định và lấp đầy khoảng trống giữa các pixel lân cận trước đó có nội dung tương tự. Điều này có thể được thực hiện thông qua chế tạo pixel cơ bản (lọc bicubic) hoặc thông qua các phương tiện phức tạp hơn, chẳng hạn như chuyển đổi hình ảnh thành biểu diễn vector và chia tỷ lệ trong không gian vectơ.

Lọc bicubic, cùng với lọc Bilinear, sử dụng đường cong hàm tương đối đơn giản để trộn các màu của các pixel lân cận lại với nhau khi bạn phóng to hình ảnh. Bilinear sử dụng đường cong hàm tuyến tính, trong khi bicubic sử dụng đường cong hàm spline khối (cspline). Lọc bicubic thường tạo ra kết quả mượt mà hơn, tuy nhiên cả hai thuật toán cuối cùng là pha trộn các giá trị của các pixel lân cận với nhau thông qua một đường cong hàm để "lấp đầy các khoảng trống" khi phóng to hình ảnh. Cần lưu ý rằng tỷ lệ bicubic nói chung là không mất mát, trong đó chỉ có khoảng trống giữa các pixel gốc thực sự được tạo ra. Tùy thuộc vào sắc thái của việc triển khai cụ thể, các pixel gốc có thể thay đổi một chút, tuy nhiên, đối với hầu hết các phần, dữ liệu gốc được giữ nguyên và dữ liệu mới được chế tạo để điền vào khi hình ảnh được thu nhỏ.

Cách tiếp cận fractal để nhân rộng hình ảnh có một cách tiếp cận hoàn toàn khác. Các thuật toán phức tạp hơn được sử dụng để phân tích nội dung của hình ảnh, xác định các cạnh và "đối tượng" và cuối cùng chuyển đổi hình ảnh thành định dạng vector fractal. Khi hình ảnh được vector hóa, nó có thể được thu nhỏ "lossless" trong không gian vectơ, sau đó được hiển thị lại ở kích thước lớn hơn. Các thuật toán Fractal, chẳng hạn như Fractals chính hãng, sử dụng thuật toán vector fractal để chia tỷ lệ hình ảnh trong khi duy trì các cạnh sắc nét, sắc nét. Cách tiếp cận này hữu ích khi hình ảnh ban đầu của bạn có các cạnh sắc nét và dễ nhận biết là yếu tố chính và việc duy trì độ sắc nét rõ ràng trên các cạnh đó là rất quan trọng.

Ngoài ra, Fractals chính hãng cố gắng duy trì chi tiết không có cạnh thông qua khái niệm "tự tương tự", bảo toàn chi tiết bằng cách xem xét nội dung hình ảnh là tự nhiên và hiển thị lại nội dung không có cạnh từ thuật toán fractal. Điều này có lợi ích được cho là, thay vì chỉ đơn giản là chế tạo thông tin từ các pixel lân cận, nội dung mới có thể được tạo từ các mẫu bao gồm nhiều pixel. Cách tiếp cận này có thể hoạt động tuyệt vời khi nâng cấp khoảng 200%, tuy nhiên bản chất vectơ cơ bản của tỷ lệ trở nên rõ ràng hơn khi mở rộng đến kích thước lớn hơn. Cũng cần lưu ý rằng phương pháp chia tỷ lệ này không mất mát và một số chi tiết pixel tốt có thể bị loại bỏ khi thuật toán cố gắng tìm kiếm fractalcác mẫu có thể được nhân rộng. Nâng cấp cực cao có thể dẫn đến sao chép mô hình có thể nhìn thấy và chi tiết cạnh mịn có thể bị xóa sạch trong nỗ lực duy trì các cạnh sắc nét, sắc nét ở tất cả các kích thước hình ảnh.

BenVista cũng cung cấp một thuật toán độc quyền có tên là S-Spline. Có rất ít thông tin về các chi tiết cụ thể của thuật toán này, tuy nhiên nó có vẻ giống như một thuật toán dựa trên đường cong chức năng khác. Tỷ lệ S-Spline Max trong PhotoZoom Pro, giống như Chính hãng Fractals, thực hiện công việc tuyệt vời duy trì định nghĩa cạnh. Thuật toán này cũng có khả năng mở rộng đến khoảng 200% hoặc hơn, tuy nhiên việc đẩy thuật toán này đi xa hơn dẫn đến sự xuống cấp và làm mịn chi tiết không có cạnh có thể nhìn thấy. Có vẻ như sự thỏa hiệp chung trong các thuật toán chia tỷ lệ là định nghĩa cạnh tối đa hoặc bảo toàn chi tiết tối đa. Cũng cần lưu ý rằng hầu hết các thuật toán chia tỷ lệ của bên thứ ba, bao gồm cả Fractals chính hãng và BenVista PhotoZoom Pro, sẽ tự động áp dụng mặt nạ unsharp cho hình ảnh cuối cùng theo mặc định.

Có thể sử dụng bicubic theo cách lặp. Điểm mấu chốt cơ bản của quy mô bicubic là nó chế tạo được nhiều thông tin hơn với quy mô lớn hơn của bạn, với chi phí cuối cùng là độ sắc nét. Bằng cách thực hiện chia tỷ lệ bicubic theo gia số 3-5%, bạn giữ được nhiều chi tiết gốc hoặc gần gốc hơn và chế tạo ít hình ảnh hơn ở mỗi bước. Các kết quả cuối cùng của một tỷ lệ bicubic lặp (hoặc bước) có thể duy trì định nghĩa cạnh lớn hơn đáng kể, mà không làm mất chi tiết tốt. Tuy nhiên, chi phí là khoản đầu tư cá nhân lớn hơn nhiều vào việc mở rộng quy mô, vì hiện tại, không có ứng dụng đúc sẵn nào sẽ làm điều này cho bạn. Bạn cần tính toán thủ công chiều rộng và chiều cao mới của hình ảnh ở mỗi bước bằng cách nhân chiều rộng hoặc chiều cao trước đó với tỷ lệ phần trăm của bạn và cắm số đó vào chương trình chỉnh sửa hình ảnh của bạn ' s công cụ chia tỷ lệ bicubic. Kết quả cuối cùng có thể là tuyệt vời, và sắc nét như một hình ảnh hai mặt w / unsharp masking. Các giới hạn về mức độ lớn hơn của bạn có thể chia tỷ lệ hình ảnh mà không gây bất lợi có thể nhìn thấy lớn hơn nhiều so với các thuật toán khác, ít nhất 400%, có thể nhiều hơn.


Hừm. Sẽ khá dễ dàng để lên kịch bản rằng quy mô nhị phân lặp đi lặp lại như một kịch bản gimp, hoặc một hành động photoshop ....
mattdm

Tôi đã thử nó như một hành động photoshop, tuy nhiên tôi đã không thành công, vì nó yêu cầu thông tin điện toán. Tôi thực sự không làm nhiều kịch bản với Photoshop, vì vậy tôi không chắc nó có hỗ trợ các chức năng toán học hay kịch bản không.
jrista

2
+1 Wow, câu trả lời chi tiết tuyệt vời. Tôi nghĩ rằng đây là một câu hỏi nhàm chán cho đến khi tôi đọc câu trả lời của bạn.
đánh dấu

Tôi mới thử nghiệm nhiều lần chia sẻ lại trong Paint.net, nhưng kết quả không được nêu trong câu trả lời này, hình ảnh được thay đổi kích thước nhiều lần dẫn đến mờ rất nhiều vì cùng một hình ảnh được ghép lại một lần. Tôi đã thử với cùng một hình ảnh thay đổi kích thước thành 200% và lặp lại 104% mỗi lần cho đến khi đạt được cùng kích thước pixel.
Jahaziel

1
Nếu bạn muốn có một ví dụ về bicubic lặp được thực hiện trên một hình ảnh được hưởng lợi từ phương pháp này, hãy xem phân tích của tôi ở đây: Nghiên cứu thực nghiệm
jrista
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.