Downsampling một hình ảnh theo một yếu tố số nguyên


16

Khi lấy mẫu xuống một hình ảnh theo một số nguyên , phương pháp rõ ràng là đặt các pixel của hình ảnh đầu ra thành trung bình của các khối tương ứng trong hình ảnh đầu vào.nn×n

Tôi nhớ mơ hồ đã đọc ở đâu đó rằng phương pháp này không tối ưu (xin lỗi tôi không nhớ bất kỳ chi tiết nào)

Có đúng là có một phương pháp tốt hơn (và nếu vậy, phương pháp trên thất bại ở đâu, mặc dù có vẻ như "rõ ràng" là đúng)? Tôi không biết nhiều về xử lý tín hiệu, câu hỏi này chỉ khiến tôi quan tâm.


nếu bạn không có nền xử lý tín hiệu, giải thích laymans là: Có các phương pháp tốt hơn để lấy mẫu xuống. Thuật toán downsampling của bạn về mặt kỹ thuật sẽ làm cho kích thước pixel hình ảnh nhỏ hơn bằng N NHƯNG thuật toán được mô tả ở trên sẽ bị suy giảm rất nhiều về chất lượng khi so sánh với các thuật toán downsampling tốt hơn.
Trevor Boyd Smith

Câu trả lời:


16

Downsampling một hình ảnh làm giảm số lượng mẫu có thể đại diện cho tín hiệu. Về miền tần số, khi tín hiệu được ghép xuống, phần tần số cao của tín hiệu sẽ được đặt bí danh với phần tần số thấp. Khi áp dụng cho xử lý ảnh, kết quả mong muốn là chỉ bảo toàn phần tần số thấp. Để thực hiện việc này, hình ảnh gốc cần được xử lý trước (lọc bí danh) để loại bỏ phần tần số cao để việc khử răng cưa sẽ không xảy ra.


Bộ lọc kỹ thuật số tối ưu để loại bỏ phần tần số cao (với mức cắt sắc nét nhất) là chức năng chân thực . Lý do là vì biểu diễn miền tần số của hàm Sinc là gần như 1 không đổi trên toàn bộ vùng tần số thấp và gần như không đổi 0 trên toàn bộ vùng tần số cao.

chân thành(x)= =tội(πx)πx

Đáp ứng xung của bộ lọc chân thành là vô hạn. Bộ lọc Lanczos là một bộ lọc chân được sửa đổi làm suy giảm các hệ số chân và cắt bớt chúng một khi các giá trị giảm xuống không đáng kể.


Tuy nhiên, tối ưu trong miền tần số không có nghĩa là tối ưu trong mắt người. Có các phương pháp upampling và downsampling không tuân theo các phép biến đổi tuyến tính nhưng tạo ra kết quả tốt hơn so với các phương pháp tuyến tính.


n×n

Yêu cầu tối thiểu trong sự tương ứng tọa độ là

  1. Upsampling một hình ảnh chứa các giá trị ngẫu nhiên tùy ý theo một yếu tố số nguyên, sau đó downsampling theo cùng một yếu tố số nguyên, sẽ dẫn đến cùng một hình ảnh với sự thay đổi số lượng tối thiểu.
  2. Upsampling / downsampling một hình ảnh chỉ bao gồm một giá trị đồng nhất, tiếp theo là thao tác ngược lại, sẽ dẫn đến một hình ảnh bao gồm cùng một giá trị đồng nhất, với độ lệch số tối thiểu.
  3. Liên tục áp dụng các cặp upampling / downsampling nên giảm thiểu sự thay đổi trong nội dung hình ảnh càng nhiều càng tốt.

Bạn có ý nghĩa gì khi biến đổi hàm chân thành "gần" 1 và 0 trong các vùng tương ứng?

@Tim: Hiện tượng Gibbs gần tần số cắt của bộ lọc chân.
rwong

2
Lấy mẫu lại chỉ có ý nghĩa đối với các tín hiệu được nhận biết / xử lý trong miền tần số, chẳng hạn như âm thanh. Các hình ảnh được cảm nhận, ít nhất là xấp xỉ, trong miền không gian (điều này còn gây tranh cãi; có thể một số nhận thức về các mẫu lặp lại nằm trong miền tần số) và bất kỳ chuyển đổi dựa trên miền tần số nào cũng tạo ra các biến dạng khó chịu (đổ chuông, v.v.) miền không gian. Về cơ bản, bất kỳ hoạt động tích chập / tuyến tính với bất kỳ hệ số âm nào cũng sẽ tạo ra các tạo tác khó chịu, và bất kỳ hệ số nào không có hệ số không âm sẽ tạo ra mờ.
R ..

6

Bạn đúng rằng tính trung bình của khu vực khá gần với "chính xác nhất" mà bạn có thể nhận được, nhưng vấn đề là hành vi không nhất quán khi hạ thấp một đường N-chiều rộng sắc nét theo hệ số N. Nếu vị trí của đường thẳng được điều chỉnh theo modulo N, bạn sẽ nhận được một dòng 1 pixel sắc nét, nhưng nếu đó là khoảng N / 2 mod N, bạn sẽ nhận được một dòng rất mờ (rộng 2 pixel ở cường độ một nửa). Điều này có thể trông rất tệ, và với gamma phi tuyến, nó thậm chí sẽ dẫn đến sự khác biệt về cường độ. (Lý tưởng nhất là tất cả việc lấy mẫu lại phải diễn ra với gamma được điều chỉnh theo thang cường độ tuyến tính, nhưng trong thực tế hầu như không ai làm điều đó vì nó thực sự tốn kém.)

Nếu bạn muốn cải thiện điều này, trước tiên bạn cần chấp nhận thực tế là không thể giảm mờ trong một số trường hợp, vì vậy cách duy nhất để có được đầu ra thống nhất là tăng độ mờ. Cách lý tưởng là sử dụng hạt nhân gaussian có bán kính lớn hơn N / 2, thay vì hàm bước, như hàm tích chập với hình ảnh nguồn. Tuy nhiên, một cách rẻ tiền để giải quyết một phép tính gần đúng, tuy nhiên, nếu bạn đã thực hiện tính trung bình của vùng N-by-N, chỉ cần áp dụng phép tích chập mờ (1 / 4,1 / 2,1 / 4) cho kết quả thu nhỏ hình ảnh.

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.