四、OpenCV调整图像的亮度
像素越靠近0图像越按,越靠近255,图像越亮,所以调整图片的亮度也就是调整每个像素点数值的大小。
原图
代码
public class DemoMat {
static{
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
public static void main(String[] args) {
Mat src=Imgcodecs.imread("aa.jpg");//读取图片
src.convertTo(src,CvType.CV_32F);//转换格式
System.out.println(src);
float [] a=new float[3];
for(int i=0;i<src.rows();i++){
for (int j=0;j<src.cols();j++){
src.get(i,j,a);//获取像素点
a[0]=a[0]*(float)1.5+40;//每个通道的数值×1.5再加40
a[1]=a[1]*(float)1.5+40;
a[2]=a[2]*(float)1.5+40;
src.put(i,j,a);//覆盖之前的数字
}
}
src.convertTo(src,CvType.CV_8UC3);//准换格式,否则imshow()函数无法呈现
HighGui.imshow("标题",src);
HighGui.waitKey(0);
}
}
执行结果