# AutoWBColorMatch ## Overview `AutoWBColorMatch` aligns an image’s white balance and global colour characteristics to match a reference. Multiple strategies are available: gray-world and highlight-based white balance, full or luminance-only Reinhard colour transfer in Lab space, or a hybrid pipeline that combines highlight balancing with Reinhard matching. ## Inputs - `image` (`IMAGE`): Source image tensor `[B, H, W, C]`. Alpha channels are discarded. - `reference` (`IMAGE`): Target look that the source should emulate. - `method` (`STRING`, default `"wb_highlight+reinhard"`): - `wb_grayworld` – scales channels so the global mean becomes neutral grey. - `wb_highlight` – computes gains from the brightest pixels. - `reinhard_lab` – matches full Lab mean/std to the reference. - `lab_l_only` – matches only the L component in Lab space. - `wb_highlight+reinhard` – performs highlight white balance first, then full Reinhard matching. - `percentile` (`FLOAT`, default `95.0`): Percentile used by the highlight detector when `wb_highlight` is involved (range `80.0–99.9`). - `strength` (`FLOAT`, default `1.0`): Blends between the original (`0.0`) and fully matched result (`1.0`). - `clip_gamut` (`BOOLEAN`, default `True`): Clamps the final output to `[0, 1]` after blending. - `force_size` (`BOOLEAN`, default `False`): When `True`, resizes both images to the supplied `target_width`/`target_height` before computing statistics, then resizes the matched output back to the original resolution. - `target_width`, `target_height` (`INT`, defaults `1440×1080`): Working resolution used when `force_size` is enabled. ## Outputs - `IMAGE`: RGB tensor after white balance and colour matching, blended according to `strength`. ## Processing Notes - Colour conversions follow the sRGB ↔ linear ↔ XYZ ↔ Lab pipeline with D65 white point constants. - Highlight-based white balance uses a quantile mask to estimate channel gains, clamping them between 0.5 and 2.0 to avoid extreme corrections. - Reinhard matching calculates per-image mean and standard deviation in Lab space; `lab_l_only` preserves chroma while adjusting luminance. - When `force_size` is active, corrections occur at the specified working resolution for improved speed and comparability; the result is then resampled back to match the original dimensions. ## Tips - Use `wb_highlight+reinhard` to neutralise both colour casts and overall contrast in a single step. - Dial down `strength` to keep some of the original styling when the reference is only a loose guide. - Disable `clip_gamut` if you plan to perform additional tone mapping afterward and want to preserve unclamped intermediate values.*** End Patch