Tone Curve¶
Công cụ curves quen thuộc: uốn đáp ứng tông của cả ảnh hoặc của một kênh màu, bằng preset dựng sẵn hoặc tám điểm do bạn tự đặt.

| Trong ComfyUI | Add Node → ComfyUI-JH-PixelPro → color → Tone Curve (RGB) |
| Dùng để | Tạo tương phản đường cong chữ S, nâng hoặc nén vùng bóng, sửa ám màu theo từng kênh |
Khi nào dùng¶
Đường cong tông (tone curve) ánh xạ mỗi mức sáng đầu vào sang một mức sáng đầu ra mới. Dáng chữ S nhẹ làm vùng tối tối hơn, vùng sáng sáng hơn, tức là thêm tương phản. Nâng phần dưới của đường cong sẽ nâng vùng bóng, tạo vẻ phai (faded). Áp đường cong chỉ lên kênh red, green hoặc blue sẽ đổi cân bằng màu, đó là cách xử lý ám màu hoặc tạo split-tone.
Node dùng đường cong đi qua tám điểm điều khiển, làm mượt bằng spline Catmull-Rom, nên mượt và dễ đoán.
Bắt đầu nhanh¶
- Load Image → Tone Curve → Preview Image.
- Chọn
preset=s_curve_mildvàchannel=rgb_master. - Hạ
strengthxuống 0.6 nếu hiệu ứng quá nặng. - Muốn đường cong riêng, đặt
presetlàcustomvà sửapoints_json.
Thông số¶
| Thông số | Mặc định | Tác dụng | Gợi ý |
|---|---|---|---|
preset |
linear |
linear (không đổi), s_curve_mild, s_curve_strong, lift_shadows, crush_blacks hoặc custom. |
Chữ S cho tương phản, lift_shadows cho vẻ matte. |
channel |
rgb_master |
rgb_master áp cùng một đường cong lên red, green, blue (tương phản). r, g hoặc b chỉ áp lên kênh đó (cân bằng màu). |
Dùng từng kênh để sửa ám màu. |
points_json |
đường chữ S nhẹ | Tám điểm của bạn dạng [[x1,y1],…,[x8,y8]]. Chỉ dùng khi preset là custom. |
Xem quy tắc bên dưới. |
strength |
1.0 (0 đến 1) | Pha trộn giữa ảnh gốc (0) và đường cong đầy đủ (1). | 0.5 đến 0.8 cho grade tinh tế. |
Đầu ra: image_toned, ảnh đã chỉnh.
Quy tắc cho points_json: đúng 8 điểm; mọi giá trị nằm trong 0 đến 1; điểm đầu là [0,0], điểm cuối là [1,1]; giá trị x phải tăng dần nghiêm ngặt. Sai quy tắc sẽ báo lỗi kèm thông điệp rõ ràng. Ví dụ (đường chữ S nhẹ):
[[0.0, 0.0], [0.15, 0.10], [0.30, 0.25], [0.45, 0.43],
[0.55, 0.57], [0.70, 0.75], [0.85, 0.90], [1.0, 1.0]]
Muốn nâng vùng bóng, tăng y của điểm thứ hai và thứ ba. Muốn hạ vùng sáng, giảm y của điểm thứ sáu và thứ bảy.
Mẹo khi chỉnh ảnh¶
- Tăng chữ S từng bước nhỏ.
s_curve_mildởstrength0.7 thường là đủ cho chân dung. - Muốn bóng lạnh, sáng ấm: dùng
channel=bvới đường cong nâng vùng bóng, rồirvới đường cong nâng vùng sáng. Nối hai node Tone Curve liên tiếp là được. crush_blackskết hợp Luminosity Masking giúp làm sâu vùng bóng mà không đụng tới da.- Đường cong không thêm được chi tiết cục bộ. Dùng CLAHE Local Contrast cho việc đó.
- Muốn lưu đường cong thành look dùng lại, bake thành LUT bằng HALD Identity và LUT Export.
Bên trong node hoạt động thế nào
Tám điểm được biến thành bảng tra 1024 mục bằng spline Catmull-Rom (cubic Hermite); hai đầu được ghim ở 0 và 1. Giá trị pixel được tra bằng nội suy tuyến tính. Với rgb_master, bảng áp lên cả ba kênh; với r, g, b chỉ áp lên kênh đó. Kết quả được trộn với ảnh vào theo strength và kẹp 0..1. Đường cong áp thẳng lên giá trị RGB node nhận được, không qua linear light. Giá trị ngoài 0..1 bị kẹp lại kèm cảnh báo trong log, và strength = 0 trả lại ảnh vào.
Node liên quan¶
- ColorLab: tông và màu kiểu Camera Raw trong một node
- Luminosity Masking: chỉ áp đường cong lên vùng bóng, midtone hoặc sáng
- HALD Identity và LUT Export: lưu đường cong thành LUT
- Color Matcher: khớp theo ảnh tham chiếu trước, rồi tinh chỉnh bằng đường cong
Workflow mẫu¶
Workflow mẫu Tone Curve. Workflow áp preset s_curve_mild lên ảnh chân dung. Chép workflows/sample_portrait.jpg vào ComfyUI/input/. Workflow chỉ dùng node lõi của ComfyUI và pack này.
![]()