技术经验谈 技术经验谈
首页
  • 最佳实践

    • 抓包
    • 数据库操作
  • ui

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 总纲
  • 整体开发框架
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

hss01248

一号线程序员
首页
  • 最佳实践

    • 抓包
    • 数据库操作
  • ui

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 总纲
  • 整体开发框架
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端

  • 图形图像

    • 像素操作
    • 图床的选择
    • 图片压缩
      • JPG
        • 2 量化表的改进:
      • PNG
        • 像素格式
      • GIF
      • 1 单图质量评价
        • 量化相关的质量
        • 工业上可用的两个质量评价指标
      • 压缩前后质量比对评价
        • Butteraugli
        • SSIM (Structural SIMilarity) 结构相似性
    • 图片压缩2
    • 最新图像压缩格式AVIF
    • 颜色模型和色彩空间
    • webP压缩
    • google相机拍照携带1s视频的实现和解析
  • 基础

  • 多媒体

  • 大数据风控

  • 大观

  • 技术视野

  • 云服务器价格对比
  • 其他IT相关
  • 图形图像
hss01248
2021-03-22
目录

图片压缩

# 图片压缩

# 图像压缩过程

# JPG

JPEG格式图像编解码 (opens new window)

JPEG-维基百科 (opens new window)

影像算法解析——JPEG 压缩算法 (opens new window)

JPEG压缩算法的过程有:

色彩模型变换(bitmap的RGB转YUV),离散余弦变换、量化、Z字形编码、游程编码、Huffman编码

压缩过程详解 (opens new window)

图像jpeg压缩 (opens new window)

“优化” JPEG压缩的一些方式 (opens new window)

1 开启霍夫曼压缩

# 2 量化表的改进:

PEG算法提供了两张标准的量化系数矩阵,分别用于处理亮度数据Y和色差数据Cr以及Cb。

  • 普通压缩 JPEG 与 量化压缩 JPEG 的质量差别(图 1 vs 图 2,目前还没有看见国内的图片服务支持 JPEG 的自动量化压缩)
  • 自适应量化表的 JPEG 压缩技术 (opens new window)

image-20210305101923363

# PNG

PNG格式图片原理 (opens new window)

png=调色板+索引.

调色板可以有4字节/3字节/1字节,对应1600 万色到只有 256 色.

一般来说,ps导出一个32bit/24bit的png图,传到tinypng压缩后,会变成8bit:

image-20210208150218000

png算法本身是无损的,但是如果通过降低调色板色值来压缩是就是有损的了.

# 像素格式

PNG也支持很多种类型的像素格式,你可以选择一种最佳的:

  • Indexed(索引色) = 1个频道,可以为1,2,4,8 bpc
  • Grayscale(灰度) = 1个频道,可以为1,2,4,8,16 bpc
  • Gray+Alpha(带透明通道的灰度) = 2个频道,可以为8或16 bpc
  • Truecolor(RGB 真彩色) = 3个频道,可以为8或16 bpc
  • RGBA(RGBA 带透明通道的真彩色) = 4个频道,可以为8或16 bpc

# GIF

庖丁解牛:GIF图片原理和储存结构 (opens new window)

# 图像质量评价

参考

无参考评价图像质量(主观评价客观化) (opens new window)

指标/维度:

img

此处不关注图片本身质量,只关注jpg压缩过程中量化表所得压缩质量

# 1 单图质量评价

# 量化相关的质量

已知图像和量化表,反向估算量化因子,得到图片质量的估计值.

可使用库: https://github.com/sephiroth74/Android-Exif-Extended 里的

int jpeg_quality =  exif.getQualityGuess()
1

# 工业上可用的两个质量评价指标

  • 亮度: 计算平均亮度或者ROI的平均亮度, 绝对值可用.

  • 模糊程度(高斯模糊): opencv的拉普拉斯算子计算可得.可用于相对比较.

# 压缩前后质量比对评价

# Butteraugli

Butteraugli 项目是一个图片差异比较库,用于测试图片的心理视觉误差阈值,即查看者开始注意到图片质量下降的点。换句话说,此项目试图量化您的压缩图片的失真程度。

# SSIM (Structural SIMilarity) 结构相似性

PNSR一般用于视频质量快速评价 图像质量评价指标之 PSNR 和 SSIM (opens new window)

# 库,工具和应用

# 参考

Android开发指南-缩减图片下载大小 (opens new window)

JPG文件长度与质量 (opens new window)

JPEG格式图像编解码 (opens new window)

编辑 (opens new window)
上次更新: 2022/08/25, 20:20:31
图床的选择
图片压缩2

← 图床的选择 图片压缩2→

最近更新
01
截图后的自动压缩工具
12-27
02
图片视频文件根据exif批量重命名
12-27
03
chatgpt图片识别描述功能
02-20
更多文章>
Theme by Vdoing | Copyright © 2020-2025 | 粤ICP备20041795号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式