Chắc chắn hầu hết chúng ta đều hiểu rõ rằng hiệu ứng của bộ lọc thông thấp có thể được trung hòa bằng cách áp dụng bộ lọc thông cao bổ sung cho một bản sao của cùng một hình ảnh và bằng cách thêm pixel theo pixel các giá trị RGB của cả hai phiên bản được lọc.
Để làm sạch hình ảnh chân dung của ai đó, chúng tôi áp dụng Gaussian Blur cho hình ảnh như một hình thức lọc thông thấp đặc biệt và kết hợp nó với phiên bản được lọc thông cao. Nếu chúng ta xóa các điểm sắc nét đáng lo ngại khỏi phiên bản được lọc thông cao, chúng ta sẽ có được bản gốc hoàn toàn sắc nét, chỉ không có các điểm đó vì bộ lọc thông thấp làm mờ chúng vô hình và chúng không được khôi phục vì chúng đã bị xóa khỏi phiên bản được lọc vượt qua bổ sung.
Phương pháp này được nhiều người biết đến: Tạo một bản sao với ex. Gaussian Blur 10 pixel dưới dạng lọc thông thấp và một bản sao khác với lọc thông cao 10 px với độ tương phản giảm 50% và sử dụng chế độ hòa trộn Ánh sáng tuyến tính để kết hợp các phiên bản được lọc. Việc giảm độ tương phản phải được thực hiện ở chế độ cũ hoặc với các đường cong quanh 128 để tránh nén phi tuyến tính.
Thật không may trong tài liệu của Adobe không có thông tin số lượng tại sao phân tách tần số này hoạt động. Chế độ hòa trộn và lọc toán học chỉ được giải thích một cách định tính. Điều đó để lại nhiều chỗ cho những dự đoán đã dẫn đến bất cứ điều gì ngoài những lời giải thích rõ ràng của người dùng.
Video giảng dạy có vấn đề không phải là một ngoại lệ. Nó nói rằng bộ lọc thông cao của Photoshop rất tệ, nó bỏ qua các cạnh của biểu đồ. Ý nghĩa của điều này là không rõ ràng. Bộ lọc HP dường như hoạt động hoàn hảo, Adobe chỉ thực hiện một số cách giải quyết do thiếu số RGB âm.
Tôi đã thực hiện một số thử nghiệm để tìm ra cách lọc HP của Photoshop thực sự hoạt động, cách nó được ghép nối với Gaussian Blur và chế độ hòa trộn tuyến tính Ánh sáng.
Giả định đầu tiên của tôi là Adobe không sử dụng bất kỳ bộ lọc HP dựa trên Chuyển đổi nhanh Fourier thông thường nào. Tôi tin rằng bộ lọc được tính toán từ Gaussian Blur, đây không phải là công việc toán học đặc biệt nặng nề. Blur chỉ là trung bình có trọng số của các pixel liền kề, đơn giản hơn nhiều so với FFT. Điều đó cũng giải thích cách làm mờ Gaussian và bộ lọc HP có thể bổ sung hoàn hảo như vậy.
Theo trực giác người ta có thể dễ dàng thấy rằng phiên bản được lọc thông cao của hình ảnh có thể được tạo bằng cách trừ khỏi hình ảnh gốc một phiên bản mờ của cùng một hình ảnh.
Tất nhiên, điều đó dựa trên thực tế rằng Gaussian Blur là một dạng lọc thông thấp. Thật xa vời với lý tưởng, không có tần số cắt mạnh, sự suy giảm của các thành phần tần số cao tăng chậm khi tần số tăng.
Để minh họa sự hình thành lọc HP, chúng ta có thể viết phương trình sau:
H = RB
R là tập hợp các giá trị RGB gốc trong ảnh, B là tập hợp các giá trị trong ảnh bị mờ và H là kết quả của phép trừ pixel và kênh, các giá trị trong ảnh được lọc qua cao. Trong Photoshop, hình ảnh sâu 8 bit thông thường không thể có các số khác 0 ... 255, không có số âm. Phương trình phải được cố định bằng cách chia tỷ lệ và chèn một phần bù.
Phương trình cố định: H = 0,5 (RB) +128
Số 0 được chuyển thành 128 và các số nằm trong phạm vi 0 ... 255 với phương trình sau, bất kể đó là giá trị RGB gốc và mờ.
Trong các vùng có màu đồng nhất lớn, điều này tạo ra 128 đến tất cả các số RGB, màu có màu xám giữa. Ở các cạnh sắc nét giữa 255 và 0, điều này có thể mang lại nhiều hơn, nhưng kết quả không phải là 0 hoặc 255 vì độ mờ là trung bình có trọng số của các pixel liền kề.
Chúng tôi có thể dễ dàng tạo ra bộ lọc thông cao 0,5 (BR) +128 dễ dàng với các lớp điều chỉnh và chế độ hòa trộn ADD hoặc SUBTRACT. Cái sau là tầm thường, nhưng ADD hoạt động tốt với các đường cong điều chỉnh khác nhau. Nó cũng tầm thường khi chúng ta sắp xếp lại các thuật ngữ trong công thức:
H = 0,5 (RB) +128 = 0,5R + (128-0,5B).
Hãy thử nghiệm nó và so sánh với bộ lọc thông cao của riêng Photoshop:
Đây là một ảnh chụp màn hình zoom cao của hình ảnh mờ 5 px. Bản gốc nằm ở lớp dưới cùng và nó chỉ chứa toàn màu đen và trắng với đường viền ngang sắc nét ở nửa chừng.
Lọc HP tự chế của chúng tôi với chế độ hòa trộn THÊM và các lớp điều chỉnh như sau:
Các lớp điều chỉnh đường cong có "chỉ lớp tiếp theo" -chuyển sang ON. Phần trên của chúng tạo ra 128-0,5B và phần dưới tạo 0,5R. Chế độ hòa trộn của lớp mờ là THÊM.
Các giá trị RGB chỉ quanh viền là 187 và 69 xa hơn các giá trị phân rã thành 128 dự kiến.
Hình ảnh tiếp theo giống nhau, nhưng được lọc bằng bộ lọc thông cao của Photoshop:
Có một sự khác biệt rõ ràng: Bộ lọc riêng của PS tạo ra độ tương phản cao hơn, các giá trị RGB chỉ quanh viền là 246 và 10. Sự khác biệt của chúng là 236. Bộ lọc thông cao tự chế của chúng tôi chỉ tạo ra 187-69 = 118. Đó là 236/2.
Giải thích của tôi là Adobe tăng gấp đôi độ tương phản. Điều đó được thực hiện bằng cách bỏ qua phép nhân 0,5 trong các phép tính. Nó có ý nghĩa bởi vì nó có nghĩa là giải quyết hiệu quả lớn hơn. Đó là sử dụng tốt hơn các giá trị 256 RGB có sẵn. Tăng không gây ra cắt vì trong bộ lọc HP tự chế, chênh lệch tối đa tại các viền sắc nét được lọc luôn nhỏ hơn hoặc bằng 128.
Chúng tôi không thể bỏ qua phép nhân với 0,5 để nhân đôi độ tương phản vì chúng tôi không có khoảng trống bên trong để tính toán. Mọi kết quả trung gian và cuối cùng phải phù hợp với phạm vi 0 ... 255 hoặc có cắt.
Chúng ta có thể so sánh kết quả lọc HP của chính mình với kết quả lọc của Photoshop bằng cách áp dụng sự khác biệt về chế độ hòa trộn:
Trên cùng có một lớp đường cong bù với độ tương phản giảm mức tăng độ tương phản giả định + 100% trong bộ lọc HP của Photoshop. Bản sao được lọc của bản gốc có chế độ hòa trộn Sự khác biệt.
Kết quả là bằng không như giả định. Không có sự khác biệt. Chúng tôi đã tìm thấy cách bộ lọc HP của Photoshop hoạt động.
Việc giảm độ tương phản 50% được thực hiện trong video giảng dạy sẽ bù cho việc tăng độ tương phản trong bộ lọc thông cao của PS và biến bộ lọc giống như bộ lọc được thực hiện tại nhà của chúng tôi. Việc giảm có thể được thực hiện trước khi lọc vì quá trình lọc và giảm độ tương phản là các hoạt động tuyến tính miễn là người ta không sử dụng điều chỉnh Độ sáng và độ tương phản. Đó là tuyến tính trong chế độ Legacy, nhưng thông thường, nó nén các tông màu tối và sáng phi tuyến tính để tạo hiệu ứng hấp dẫn chủ quan hơn trong chỉnh sửa ảnh. Điều đó cũng được nói bởi các giảng viên video.
Vẫn còn để lại lời giải thích định lượng tại sao chế độ pha trộn Ánh sáng tuyến tính là cách phù hợp để kết hợp các phiên bản được lọc mờ và thông cao.
Theo trực giác, người ta muốn tạo lại các giá trị RGB gốc bằng cách thêm phiên bản bộ lọc High pass vào phiên bản mờ. Điều đó hoàn toàn ổn, nhưng bộ lọc HP của Photoshop đã thêm offset 128 vào mọi giá trị RGB được lọc trong bộ lọc. Chúng ta không thể đơn giản sử dụng phép trừ chế độ hòa trộn để loại bỏ phần bù vì tất cả các kết quả trung gian phải nằm trong phạm vi 0 .... 255. Tính toán nội bộ của Photoshop không có giới hạn đó.
Chúng ta có thể khám phá các chế độ hòa trộn với độ dốc tuyến tính đen sang trắng. Đây là chế độ hòa trộn THÊM.
Tất cả các pixel ở đường chéo và hướng xuống phải có màu trắng đầy đủ (= 255) và bộ chọn màu hiển thị đúng. Đường sáng hơn trên đường chéo được thực hiện trong xử lý điều khiển hiển thị. Đó rõ ràng là một loại nỗ lực tăng cường chủ quan và tôi chưa tìm được cách tắt nó.
Thay đổi chế độ hòa trộn thành ánh sáng tuyến tính cho hình ảnh khác nhau. Nó thực sự là tuyến tính bởi vì có thể thấy các đường thẳng dạng gây ra bởi độ dốc tuyến tính:
Kết quả trở nên giống như với chế độ ADD, nếu người ta áp dụng một lớp đường cong cho lớp trên cùng:
Độ dốc trên cùng vẫn có chế độ hòa trộn Ánh sáng tuyến tính. Đường cong (chỉ ảnh hưởng đến một lớp) nhân mọi thứ với 0,5 và thêm 128 vào kết quả. Kết quả giống như độ dốc được trộn với ADD mà không cần điều chỉnh khác. Do đó chúng ta có thể viết ngược lại một công thức cho ánh sáng tuyến tính:
L = 2 (T-128) + G trong đó T là giá trị RGB ở lớp trên cùng và G là giá trị RGB ở lớp dưới cùng.
(Tôi phải thừa nhận rằng việc tìm ra 0,5 và 128 đó không cần thiên tài. Tôi đã thấy rằng sự kết hợp của các bộ lọc bổ sung hoạt động với ánh sáng tuyến tính. . a = 0,5 và b = 128 được tìm thấy bằng thử nghiệm và lỗi)
Vì vậy, kết hợp bộ lọc nên làm việc với ánh sáng tuyến tính. Bộ lọc thông cao được thực hiện tại nhà của chúng tôi có thể sử dụng "nguyên trạng" mà không cần giảm độ tương phản cần thiết cho bộ lọc HP của Photoshop. Hãy chèn các bộ lọc bổ sung vào công thức ánh sáng tuyến tính:
L = 2 (T-128) + G = 2 ((0,5 (RB) +128) -128) + B = R, như mong đợi.
Điều tương tự cũng có thể được trình bày bằng cách thực hiện kết hợp trong thực tế:
Tôi cũng đã thử nó với những hình ảnh phức tạp hơn và nó cũng hoạt động với chúng.
Về những điều được hỏi:
Bộ lọc thông cao của Photoshop không hút bằng cách bỏ qua các cạnh biểu đồ. Cần giảm độ tương phản 50% để bù lại nỗ lực của Adobe để sử dụng tốt hơn phạm vi số có sẵn 0 ... 255
Opacity giảm là một sự hiểu lầm. Nó không phải là một sự thay thế thích hợp để pha trộn với ánh sáng tuyến tính.