1. convertScaleAbs
作用
将图像转为8位无符号图像,并进行线性变换(y = ax + b)。
示例
项目:调整图片的亮度和对比度。
代码:
using OpenCvSharp;
Mat src = Cv2.ImRead("input.jpg"); // 读取输入图像
Mat dst = new Mat();
double alpha = 1.5; // 对比度因子
double beta = 50; // 亮度偏移值
Cv2.ConvertScaleAbs(src, dst, alpha, beta);
Cv2.ImWrite("output.jpg", dst); // 保存输出图像
解释:
alpha 增加对比度。值越大,对比度越高。
beta 增加亮度。值越大,图像越亮。
运算过程:
每个像素的新值 = 原值 * 1.5 + 50
结果:
图像变得更亮且对比度更高。
2. log
作用
对图像进行对数变换,通常用于增强图像的细节。
示例
项目:增强图像细节。
代码:
using OpenCvSharp;
Mat src = Cv2.ImRead("input.jpg", ImreadModes.Grayscale); // 读取灰度图像
src.ConvertTo(src, MatType.CV_32F); // 转换为浮点型
Mat dst = new Mat();
Cv2.Log(src + 1, dst)