如何调整彩色图像的亮度?

时间:2012-02-23 07:16:33

标签: opencv

http://yester-place.blogspot.com/2008/11/opencv_12.html

该代码用于调整灰度图像的亮度和对比度。 如何用彩色图像调整它,即结果是彩色图像。 谢谢

1 个答案:

答案 0 :(得分:-1)

您可能希望从RGB色彩空间切换到HSV色彩空间。在这种情况下,您可以通过更改图像的H分量值来更改图像的亮度,然后将其转换回来。

RGB不适合操作。

您可能想要使用的功能是(使用python):

def RGB2HSV(imgRGB):
    """
    Converts an iplImage in RGB to HSV color scale, same size, same number of channels.
    """
    if imgRGB == None:
            print "imgRGB is void.Exiting . . ."
            return None
    if imgRGB.nChannels < 3:
            print "imgRGB is single channel. Exiting . . ."
            return None

    dims = imageInfo(imgRGB)
    imgHSV = cv.CreateImage( dims, cv.IPL_DEPTH_8U, imgRGB.nChannels)

    cv.CvtColor(imgRGB, imgHSV, cv.CV_RGB2HSV)

    return imgHSV