GstColorTransfer is a GStreamer plugin that performs a color transference between 2 video streams.
The color transfer process consists of taking the colors of a reference image and using them to color a target image. It can be used for color consistency, improved image stitching, automated coloring, and many more applications.
Color consistency is usually a problem on systems that capture from several cameras simultaneously. Even if all the cameras used are the same model, sometimes capture parameters or even fabrication variations can cause the capture images' colors to look completely inconsistent. An example of this effect is shown in the image below.
Even though both images were captured with the same camera, a small displacement to the right radically changes the color distributions of the picture due to the illumination conditions on each capture. GstColorTransfer transfers the color histogram distribution of the reference image to the target in order to correct this problem, as seen in the following image.
GstColorTransfer is highly optimized for NVIDIA GPUs using CUDA in order to achieve real-time performances of Full-HD video streams at 30fps.