如何使用convertTo增强对比度?

时间:2015-11-21 05:59:46

标签: c opencv

我是opencv c语言的新手。我需要你提高我的图像对比度。我使用了函数

    cvconvertTo(imh,-1,2,0);

问题是我应该在哪里使用输入图像变量?  请帮我  谢谢

1 个答案:

答案 0 :(得分:1)

查看OpenCV教程Changing the contrast and brightness of an image

根据参数alpha比例)和beta shift ),您可以应用转换:

enter image description here

给定输入图像:

enter image description here

你可以改变对比度和亮度,例如:

enter image description here

您可以使用 C ++ api (推荐)执行此操作:

#include <opencv2\opencv.hpp>
using namespace cv;

int main()
{
    Mat3b img = imread("path_to_image");

    imshow("Before", img);

    double alpha = 2;
    double beta = 10;
    img.convertTo(img, -1, alpha, beta);

    imshow("After", img);
    waitKey();

    return 0;
}

您还可以使用过时的C api

#include <opencv2\opencv.hpp>
using namespace cv;

int main()
{
    IplImage* img = cvLoadImage("path_to_image");

    cvShowImage("Before", img);

    double alpha = 2;
    double beta = 10;

    cvConvertScale(img, img, alpha, beta);

    cvShowImage("After", img);
    cvWaitKey();

    return 0;
}