四、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); } }
执行结果