Atitit. 图像处理jpg图片的压缩  清理垃圾图片 java版本

1. 清理图片压缩图片尺寸 1

2. 所以要使用ImageWriter 1

3. Thumbnails质量压缩builder.outputQuality(0.9);
2

4. attilax框架的处理 code 2

5. 到一篇文章提到如何控制jpg图片后压缩的质量 3

6. 参考 4

1. 清理图片压缩图片尺寸

目标::300kb>>>10kb..

处理流程:::scale,outputQuality(0.5)

裁剪crop,only 顶一半....

在上传到个云盘,cp处理..sysn

处理出来个mini版本的pic folder..在跟个ori 大的尺寸文件夹sync..删除别的不要的...

中间走不个不要的图片删除出k兰...

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 所以要使用ImageWriter

ImageIO虽然能支持选定格式的输出

但是不能自己设置质量

iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); // 设置可否压缩

3. Thumbnails质量压缩builder.outputQuality(0.9);

00001. builder.outputQuality(0.9); //参数是浮点数,0-1之间

质量压缩

00001. builder.outputQuality(0.9); //参数是浮点数,0-1之间

4. attilax框架的处理 code

atibrow

public   void scale4clr(String jpg, String deboxJpg, int width)

throws IOException {

Image img = ImageIO.read(new File(jpg));

int width2 = img.getWidth(null);

if(width2<width+2)

{System.out.println("--skip:"+jpg);

return;

}

//int wid = width2 - (border * 2);

double scale_perst=(double)width/(double)width2;

double nowhit=img.getHeight(null);

double nowwit=scale_perst*width2;

int nowhit_haf=(int) img.getHeight(null)/2;

//int hit = img.getHeight(null) - (border * 2);

Thumbnails.of(jpg).scale(scale_perst).sourceRegion(Positions.TOP_LEFT, (int) width2, nowhit_haf).outputFormat("jpg").outputQuality(0.5).toFile(deboxJpg);

}

5. 到一篇文章提到如何控制jpg图片后压缩的质量

http://www.universalwebservices.net/web-programming-resources/java/adjust-jpeg-image-compression-quality-when-saving-images-in-java/

重点我这里提出来说一下

ImageWriter writer; // 自己获取 ImageWriter 对象

ImageWriteParam iwp = writer.getDefaultWriteParam();

iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);

// 参数为0和1

// 1表示设置最小的压缩以保持最大的图片质量 

iwp.setCompressionQuality(1);

File file = new File(OUTPUTFILE);

FileImageOutputStream output = new FileImageOutputStream(file);

writer.setOutput(output);

IIOImage image = new IIOImage(BUFFEREDIMAGE, null, null);

// 写入图片

writer.write(null, image, iwp);

writer.dispose()

6. 参考

JAVA 图像处理库 Thumbnails-强子IT博客.htm

图像按质量压缩、转换为字符数组小结 - kfhzy的专栏 - 博客频道 - CSDN.NET.htm

如何用java 调整jepg图片压缩? - Java - 知乎.htm

java中图片按质量压缩的再一次小结 - - ITeye技术网站.htm

Atitit. 图像处理jpg图片的压缩 清理垃圾图片 java版本的更多相关文章

  1. Atitit 图像处理 灰度图片 灰度化的原理与实现

    Atitit 图像处理 灰度图片 灰度化的原理与实现 24位彩色图与8位灰度图 首先要先介绍一下24位彩色图像,在一个24位彩色图像中,每个像素由三个字节表示,通常表示为RGB.通常,许多24位彩色图 ...

  2. Atitit图像处理的用途

    Atitit图像处理的用途 1.1. 分类识别 (人脸检测,肤色识别,人类检测:1 1.2. 炫丽的动态按钮生成:色相旋转+自己的草书等图片合成,图片自动裁剪1 1.3. 集成调用自绘gui接口:识别 ...

  3. Atitit  图像处理底色变红的解决

    Atitit  图像处理底色变红的解决 1.1. 原因  ImageIO  bug ,alpha通道应该在保存jpg的时候排除1 1.2. 解决,自己移除alpha通道即可1 2. Image sav ...

  4. Atitit 图像处理30大经典算法attilax总结

    Atitit 图像处理30大经典算法attilax总结 1. 识别模糊图片算法2 2. 相似度识别算法(ahash,phash,dhash)2 3. 分辨率太小图片2 4. 横条薯条广告2 5. 图像 ...

  5. Atitit 图像处理 调用opencv 通过java  api   attilax总结

    Atitit 图像处理 调用opencv 通过java  api   attilax总结 1.1. Opencv java api的支持 opencv2.4.2 就有了对java api的支持1 1. ...

  6. Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx

    Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...

  7. Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化

    Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化 在去年的时候,偶然看到hqx算法. 一个高质量的插值放大算法. 与双线性插值等插值算法相比,这个算法放大后对人眼 ...

  8. Atitit 图像处理知识点  知识体系 知识图谱v2

    Atitit 图像处理知识点  知识体系 知识图谱v2 霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像 ...

  9. Atitit 图像处理知识点  知识体系 知识图谱

    Atitit 图像处理知识点  知识体系 知识图谱 图像处理知识点 图像处理知识点体系 v2 qb24.xlsx 基本知识图像金字塔op膨胀叠加混合变暗识别与检测分类肤色检测other验证码生成 基本 ...

随机推荐

  1. linux安装ping

    https://www.cnblogs.com/iamdevops/p/5743157.html 使用docker仓库下载的ubuntu 14.04 镜像.里面精简的连 ping 命令都没有.goog ...

  2. Idea 创建spring mvc项目时,在add framework support中找不到spring选项

    每次创建spring项目最头疼就是spring的配置文件,尤其是配置头信息.通过IDEA工具可以很好辅助完整这些工作. 先说下这个选项的作用:其作用就是利用IDEA自身提供的功能帮你完成一些sprin ...

  3. 微软对外披露两个0day漏洞详情

    微软近日对外披露了两个0day漏洞详情,其中一个漏洞存在Adobe阅读器中,可被利用导致任意代码执行:另一个漏洞则允许任意代码在Windows kernel内存中提权执行. 微软称由于该漏洞利用目前还 ...

  4. IP地址网段规划

  5. TensorFlow------TFRecords的分析与存储实例

    TensorFlow------TFRecords的分析与存储实例: import os import tensorflow as tf # 定义cifar的数据等命令行参数 FLAGS = tf.a ...

  6. SQL 备份还原单个表

    如果只想备份或恢复单个表而不想备份或恢复整个数据库的话,往往有以下方法: 1.在Sql server2000 中可以使用DTS来将该表的数据导出成另外的文件格式.当需要恢复时,可以将该文件中数据再通过 ...

  7. Mysql数据库配置文件my.cnf详解

    basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件 ...

  8. centos 5.4中mysql主从同步配置方法

    安装环境•centos 5.4•mysql 5.1.xx 采用rpm直接安装•xtrabackup 1.2.22 采用rpm直接安装1. Master:/etc/my.cnf  代码如下 复制代码 [ ...

  9. 【云计算】OpenStack Horizon DashBoard定制化,完整实现前后台交互

    项目代码见GitHub:https://github.com/junneyang/openstack-customization-example 参考资料: Install and configure ...

  10. 在浏览器中体验 Ubuntu

    近日,Canonical将Ubuntu官网中添加了在线导览的功能,你可以在任何地方使用这个Ubuntu 演示版.Ubuntu背后的公司Canonical为 Linux 推广做了很多努力.无论你有多么不 ...