原图:

伽马校正后的图像:

// 伽马校正
void gamma(Mat src) {
Mat x = new Mat();
src.convertTo(x , CvType.CV_32FC3);
Mat i = new Mat();
// pow(src,p,dst) 矩阵的p次幂
Core.pow(x, 3, i);
Mat dst = new Mat();
// 归一化
Core.normalize(i, dst, 0, 255, Core.NORM_MINMAX, CvType.CV_8UC3);
//自己写的显示图片的方法
Images.showImage(dst);
}
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat src = Imgcodecs.imread("d:/c/test2.png");
if(src.empty()) {
System.err.println("The picture doesn't exist");
return;
}
Images.showImage(src);
Gamma l = new Gamma();
l.gamma(src);
}
本文介绍了一种基于OpenCV的伽马校正方法,通过调整图像的亮度和对比度来改善视觉效果。该方法首先将图像转换为浮点类型,接着进行三次方运算以实现伽马校正,并通过归一化确保像素值处于有效范围内。
1196

被折叠的 条评论
为什么被折叠?



