Learn R Programming

CRImage (version 1.20.0)

colorCorrection: Color transfer between images.

Description

The colors of one image are adapted to the colors of a target image.

Usage

colorCorrection(imgO, meanStdTarget,whiteMask = c())

Arguments

imgO
The image who's colors should be adapted
meanStdTarget
Array with mean and standard deviation of the target image.
whiteMask
Boolean mask of white pixel in the image. These pixels are excluded from color correction.

Value

The image with adapted colors.

Details

Mean and standard deviation of the target image can be calculated using the function calculateMeanStdTarget.

References

Reinhard, E.; Adhikhmin, M.; Gooch, B.; Shirley, P.; , "Color transfer between images," Computer Graphics and Applications, IEEE , vol.21, no.5, pp.34-41, Sep/Oct 2001 doi: 10.1109/38.946629 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=946629&isnumber=20481

See Also

calculateMeanStandardTarget

Examples

Run this code
#read the target image
	f1= system.file("extdata", "exImg2.jpg", package="CRImage")
	targetImage=readImage(f1)
	#read the image whose color values should be adapted
	f2= system.file("extdata", "exImg3.jpg", package="CRImage")
	imgToConvert=readImage(f2)
	#calculate mean and standard deviation of target color channels
	mst=calculateMeanStdTarget(targetImage)
	# create a white pixel mask
	whitePixelMask=imgToConvert[,,1]>0.85 & imgToConvert[,,2]>0.85 & imgToConvert[,,3]>0.85
	#adapt color channels of image
	imgCorrected=colorCorrection(imgToConvert,mst,whitePixelMask)

Run the code above in your browser using DataLab