Sự khác biệt giữa ChannelCombination và LRGBCombination
Hai process ChannelCombination và LRGBCombination có tên gọi rất giống nhau trong PixInsight, khiến người ta thường không rõ khi nào thì nên dùng cái nào, và không ít video hướng dẫn trên mạng cũng hay dùng lẫn lộn. Bài viết này chia sẻ cách dùng của riêng tôi, cùng với sự khác biệt thực tế về mặt tính toán giữa hai process.
Cách tôi dùng
- LRGBCombination: tôi dùng nó ở trạng thái phi tuyến, để thay thế L trong các kênh của ảnh RGB, tức là cái thường được gọi là “đưa kênh L vào ảnh RGB”.
- ChannelCombination: tình huống tôi dùng nhiều nhất là ghép ba kênh RGB ở trạng thái tuyến tính. Bởi vì ChannelCombination không tự thực hiện thêm bất kỳ xử lý nào khác, nó thuần túy chỉ ghép các kênh lại với nhau (tương ứng với việc tách kênh của ChannelExtraction).
Các chế độ ghép của ChannelCombination gồm RGB, HSV, HSI, CIEXYZ, CIEL*a*b, CIEL*c*h. Bạn có thể xem nó như “một PixelMath có giao diện bấm chọn”, vì thế về nguyên tắc, dùng PixelMath cũng thực hiện được thao tác y hệt.
Hỏi đáp một: dùng LRGBCombination để ghép RGB ở trạng thái tuyến tính thì sẽ ra sao?
Có một người bạn cùng sở thích đã hỏi câu này. Ảnh dưới đây cho thấy kết quả — để so sánh một cách khách quan, cả hai bức ảnh trong hình đều được áp dụng cùng một screen stretch STF.

Có thể thấy, kết quả của LRGBCombination (ảnh bên phải) không có khác biệt so với ChannelCombination (ảnh bên trái). Để tránh bị mắt đánh lừa, tôi còn phóng to ảnh đến mức pixel để đo giá trị, và chúng cũng hoàn toàn giống nhau.
Nhưng cần lưu ý, điều này chỉ đúng với tiền đề là các thiết lập chuyển đổi của LRGBCombination được “giữ nguyên hoàn toàn ở giá trị mặc định”. Process này cung cấp các tùy chọn thay đổi trọng số kênh, hàm chuyển đổi và khử nhiễu màu (chrominance); một khi bạn động đến những tùy chọn đó, kết quả sẽ khác với ChannelCombination.
Hỏi đáp hai: vì sao ghép bằng LRGBCombination ở trạng thái tuyến tính thì màu lại bị lỗi?
Cũng có người bạn cùng sở thích hỏi, vì sao ở trạng thái tuyến tính, khi dùng LRGBCombination để ghép riêng L, R, G, B, hoặc ghép L với RGB, thì màu sắc lại bị lỗi?
Câu trả lời nhất quán với bài viết tôi đã chia sẻ trước đây: bởi vì LRGBCombination là một process phi tuyến, cần được chạy ở trạng thái phi tuyến. Tuy khi chỉ đơn thuần ghép các kênh RGB (và giữ nguyên giá trị mặc định) thì không gặp chuyện gì, nhưng một khi có L tham gia, hoặc đã chỉnh các tham số trên giao diện, thì vấn đề có thể xuất hiện.