Nodes Browser

AddLabel
AppendInstanceDiffusionTracking
BatchCLIPSeg
BatchCropFromMask
BatchCropFromMaskAdvanced
BatchUncrop
BatchUncropAdvanced
BboxToInt
BboxVisualize
CameraPoseVisualizer
CheckpointPerturbWeights
ColorMatch
ColorToMask
CondPassThrough
ConditioningMultiCombine
ConditioningSetMaskAndCombine
ConditioningSetMaskAndCombine3
ConditioningSetMaskAndCombine4
ConditioningSetMaskAndCombine5
CreateAudioMask
CreateFadeMask
CreateFadeMaskAdvanced
CreateFluidMask
CreateGradientFromCoords
CreateGradientMask
CreateInstanceDiffusionTracking
CreateMagicMask
CreateShapeImageOnPath
CreateShapeMask
CreateShapeMaskOnPath
CreateTextMask
CreateTextOnPath
CreateVoronoiMask
CrossFadeImages
CustomControlNetWeightsFluxFromList
CustomSigmas
DifferentialDiffusionAdvanced
DownloadAndLoadCLIPSeg
DrawInstanceDiffusionTracking
DummyOut
EmptyLatentImageCustomPresets
EmptyLatentImagePresets
FilterZeroMasksAndCorrespondingImages
FlipSigmasAdjusted
FloatConstant
FloatToMask
FloatToSigmas
FluxBlockLoraLoader
FluxBlockLoraSelect
GLIGENTextBoxApplyBatchCoords
GenerateNoise
GetImageRangeFromBatch
GetImageSizeAndCount
GetImagesFromBatchIndexed
GetLatentsFromBatchIndexed
GetMaskSizeAndCount
GradientToFloat
GrowMaskWithBlur
INTConstant
ImageAddMulti
ImageAndMaskPreview
ImageBatchMulti
ImageBatchRepeatInterleaving
ImageBatchTestPattern
ImageConcanate
ImageConcatFromBatch
ImageConcatMulti
ImageGrabPIL
ImageGridComposite2x2
ImageGridComposite3x3
ImageGridtoBatch
ImageNormalize_Neg1_To_1
ImagePadForOutpaintMasked
ImagePadForOutpaintTargetSize
ImagePass
ImageResizeKJ
ImageTransformByNormalizedAmplitude
ImageUpscaleWithModelBatched
InjectNoiseToLatent
InsertImageBatchByIndexes
InsertImagesToBatchIndexed
InterpolateCoords
Intrinsic_lora_sampling
JoinStringMulti
JoinStrings
LoadAndResizeImage
LoadImagesFromFolderKJ
LoadResAdapterNormalization
MaskBatchMulti
MaskOrImageToWeight
MergeImageChannels
ModelPassThrough
NormalizedAmplitudeToFloatList
NormalizedAmplitudeToMask
OffsetMask
OffsetMaskByNormalizedAmplitude
PlotCoordinates
PointsEditor
PreviewAnimation
RemapImageRange
RemapMaskRange
ReplaceImagesInBatch
ResizeMask
ReverseImageBatch
RoundMask
SV3D_BatchSchedule
SaveImageWithAlpha
ScaleBatchPromptSchedule
Screencap_mss
Sleep
SomethingToString
SoundReactive
SplineEditor
SplitBboxes
SplitImageChannels
StabilityAPI_SD3
StableZero123_BatchSchedule
StringConstant
StringConstantMultiline
Superprompt
VRAM_Debug
WebcamCaptureCV2
WeightScheduleConvert
WeightScheduleExtend
WidgetToString

Color Match

ColorMatch

Node Information

Category:
KJNodes/image
Python Module:
custom_nodes.ComfyUI-KJNodes
Output Node:
No
Color Match
PREVIEW
image
image_ref
IMAGE
image_target
IMAGE
method
mkl
color-matcher enables color transfer across images which comes in handy for automatic color-grading of photographs, paintings and film sequences as well as light-field and stopmotion corrections. The methods behind the mappings are based on the approach from Reinhard et al., the Monge-Kantorovich Linearization (MKL) as proposed by Pitie et al. and our analytical solution to a Multi-Variate Gaussian Distribution (MVGD) transfer in conjunction with classical histogram matching. As shown below our HM-MVGD-HM compound outperforms existing methods. https://github.com/hahnec/color-matcher/