当前位置: 首页 > 编程笔记 >

java图片对比度调整示例代码

柯翔
2023-03-14
本文向大家介绍java图片对比度调整示例代码,包括了java图片对比度调整示例代码的使用技巧和注意事项,需要的朋友参考一下

前言

本文主要给大家介绍了关于java图片对比度调整的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

方法如下

测试代码

 public static void main(String[] args) {

  //文件与BufferedImage间的转换
  BufferedImage bi=file2img("test.jpg"); //读取图片
  BufferedImage bii=img_color_contrast(bi,100);
  img2file(bii,"jpg","test1.jpg"); //生成图片

 }

图片对比度调整代码

//图片对比度调整
 public static BufferedImage img_color_contrast(BufferedImage imgsrc, int contrast) {
  try {
   int contrast_average = 128;
   //创建一个不带透明度的图片
   BufferedImage back=new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(),BufferedImage.TYPE_INT_RGB);
   int width = imgsrc.getWidth(); 
   int height = imgsrc.getHeight(); 
   int pix;
   for (int i = 0; i < height; i++) { 
    for (int j = 0; j < width; j++) { 
     int pixel = imgsrc.getRGB(j, i); 
     Color color = new Color(pixel);

     if (color.getRed() < contrast_average)
     {
      pix = color.getRed()- Math.abs(contrast);
      if (pix < 0) pix = 0;
     }
     else
     {
      pix = color.getRed() + Math.abs(contrast);
      if (pix > 255) pix = 255;
     }
     int red= pix;
     if (color.getGreen() < contrast_average)
     {
      pix = color.getGreen()- Math.abs(contrast);
      if (pix < 0) pix = 0;
     }
     else
     {
      pix = color.getGreen() + Math.abs(contrast);
      if (pix > 255) pix = 255;
     }
     int green= pix; 
     if (color.getBlue() < contrast_average)
     {
      pix = color.getBlue()- Math.abs(contrast);
      if (pix < 0) pix = 0;
     }
     else
     {
      pix = color.getBlue() + Math.abs(contrast);
      if (pix > 255) pix = 255;
     }
     int blue= pix; 

     color = new Color(red,green,blue);
     int x=color.getRGB();
     back.setRGB(j,i,x);
    }
   }
   return back;
  } catch (Exception e) {
   e.printStackTrace();
   return null;
  }
 }

图片读取,和存储函数

//读取图片
 public static BufferedImage file2img(String imgpath) {
  try {
   BufferedImage bufferedImage=ImageIO.read(new File(imgpath));
   return bufferedImage;
  } catch (Exception e) {
   e.printStackTrace();
   return null;
  }
 }
 //保存图片,extent为格式,"jpg"、"png"等
 public static void img2file(BufferedImage img,String extent,String newfile) {
  try {
   ImageIO.write(img, extent, new File(newfile));
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。

 类似资料:
  • 本文向大家介绍opencv调整图像亮度对比度的示例代码,包括了opencv调整图像亮度对比度的示例代码的使用技巧和注意事项,需要的朋友参考一下 图像处理 图像变换就是找到一个函数,把原始图像矩阵经过函数处理后,转换为目标图像矩阵.   可以分为两种方式,即像素级别的变换和区域级别的变换 Point operators (pixel transforms) Neighborhood (area-ba

  • 本文向大家介绍C#图像对比度调整的方法,包括了C#图像对比度调整的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#图像对比度调整的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍JS图片等比例缩放方法完整示例,包括了JS图片等比例缩放方法完整示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS图片等比例缩放方法。分享给大家供大家参考,具体如下: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《Java

  • 问题内容: 我正在使用某些框架处理一堆图像,而我得到的只是一堆对象。不幸的是,这些图像真的很暗,我想加亮它们并稍微调整对比度。 就像是: 有任何想法吗? 问题答案: 实际上,那很容易。 1.2和15的A 似乎使停下来的图像更亮。 好极了! 在的文档中了解更多信息。

  • 本文向大家介绍java 生成文字图片的示例代码,包括了java 生成文字图片的示例代码的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了java 生成文字图片的示例代码,分享给大家,具体如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我是度量的新手,我不明白为什么我得到这个输出,请有人解释。提前感谢。 输出: 12/18/15 12:01:15PM = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -- 计量----------------------------------------