c - 如何使用convertTo增强对比度?

标签 c opencv

我是opencv c语言的新手。我需要你增强我的图像对比度。我使用了该功能

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

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

最佳答案

看一下 OpenCV 教程 Changing the contrast and brightness of an image .

给定参数 alpha (scale) 和 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;
}

关于c - 如何使用convertTo增强对比度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33840229/

相关文章:

c - c中没有静态 vector 的图中的最短路径

c - 与gcc中的共享库链接时如何为可执行文件生成位置相关代码?

opencv - Opencv相机百万像素Android

c 开放式简历;如何将二维数组转换为 IplImage?

c++ - 构建后加载错误

python - ConvergenceWarning : Liblinear failed to converge, 增加迭代次数

c - 如何找到指针数组指向的元素的大小?

c - 拆分 char[] 并读取 float

c - 使用 C 中指向指针的指针删除链表中的节点

c - tic-tac-toe 使用 opencv 但我可以在识别游戏板时停止