我是opencv c语言的新手。我需要你增强我的图像对比度。我使用了该功能
cvconvertTo(imh,-1,2,0);
问题是我应该在哪里使用输入图像变量? 请帮我 谢谢
最佳答案
看一下 OpenCV 教程 Changing the contrast and brightness of an image .
给定参数 alpha
(scale) 和 beta
(shift),您可以应用转换:
给定输入图像:
您可以更改对比度和亮度以获得,例如:
您可以使用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/