opencv伽马校正函数
时间: 2023-05-25 12:04:37 浏览: 68
OpenCV中的gamma校正函数是cv::Mat cv::pow(const cv::Mat& src, double gamma),它需要两个参数。第一个参数是源图像(src),它必须是单通道或三通道的8位无符号整数矩阵。第二个参数是gamma值(gamma),它必须是一个非负值。gamma值越小,图像越明亮,gamma值越大,图像越暗。
使用gamma校正函数的一般步骤如下:
1. 读取图像,并将其转换为灰度或BGR格式
2. 对图像进行伽马校正,例如:outputImage = cv::pow(inputImage, gamma)
3. 保存处理后的图像
示例代码:
```c++
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
int main()
{
cv::Mat inputImage = cv::imread("input.jpg");
if (inputImage.empty()) {
std::cerr << "Failed to load input image" << std::endl;
return -1;
}
double gamma = 2.2;
cv::Mat outputImage = cv::pow(inputImage, gamma);
cv::imwrite("output.jpg", outputImage);
std::cout << "Output image saved as output.jpg" << std::endl;
return 0;
}
```