Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当质量设置为100时,JPEG无损吗?

当质量设置为100时,JPEG无损吗?
EN

Stack Overflow用户
提问于 2011-11-02 14:56:33
回答 4查看 52.3K关注 0票数 84

我知道JPEG是一种有损压缩标准,“质量”因素控制着压缩的程度,从而控制着数据的丢失量。

但是当质量数字设置为100时,得到的jpeg是无损的吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-02-02 08:43:08

正如上面正确回答的,使用质量为100的“典型”JPEG编码器不能提供无损压缩。无损JPEG编码是存在的,但它在本质上是不同的,很少使用。

我只是想说为什么质量100并不意味着无损的

在JPEG压缩中,信息大部分在DCT系数量化步骤期间丢失(8×8系数块被8×8量化表划分,因此它们变得更小->“更可压缩”)。当您将JPEG质量设置为100时,不会发生真正的量化(因为量化表将全为1,至少对于标准IJG-JPEG表是1),因此实际上您不会丢失此处的信息。

然而,即使在没有量化的情况下,也主要有两个因素导致信息丢失:

通常,

  1. 压缩会减少颜色信息(因为人类视觉系统对此的敏感度低于流明)。因此,即使在质量为100的情况下,您也可以执行色度二次采样(这意味着降低一半或更多的Cb和Cr系数)。当这种情况发生时,即使没有量化发生,信息也会丢失。但是,您可以告诉编码器保留全色度(所谓的4:4:4彩色sampling).
  2. Nevertheless,JPEG编码意味着进入DCT域,这会导致系数舍入。舍入会丢弃一些信息。无论其他选项如何,都会发生这种情况。
票数 65
EN

Stack Overflow用户

发布于 2011-11-02 14:58:39

无论设置如何,Jpeg都是有损的。在100,你只能得到最小的损失。

它很容易测试。快速生成一个简单的.bmp,将其压缩为q=100 jpeg,然后重新解压缩为.bmp。使用Gimp/Photoshop对这两个位图进行“区别”,你会看到损失--它将比q=50或q=1转换更不明显,但仍然存在。

票数 64
EN

Stack Overflow用户

发布于 2011-11-07 16:57:52

有一个lossless form of JPEG,但它没有得到广泛的支持,而且你不能通过调整质量设置来获得它-这是一个完全不同的过程。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7982409

复制
相关文章
监控目录或文件变化
# watchdog介绍 Watchdog的中文的“看门狗”,有保护的意思。最早引入Watchdog是在单片机系统中,由于单片机的工作环境容易受到外界磁场的干扰,导致程序“跑飞”,造成整个系统无法正常工作,因此,引入了一个“看门狗”,对单片机的运行状态进行实时监测,针对运行故障做一些保护处理,譬如让系统重启。这种Watchdog属于硬件层面,必须有硬件电路的支持。 Linux也引入了Watchdog,在Linux内核下,当Watchdog启动后,便设定了一个定时器,如果在超时时间内没有对/dev/Watc
章工运维
2023/05/19
6920
将BCS的bucket文件保存到本地[PHP]
作者:matrix 被围观: 2,184 次 发布时间:2015-06-03 分类:兼容并蓄 零零星星 | 8 条评论 »
HHTjim 部落格
2022/09/26
2.1K0
将图片保存到XML文件的方法
一.保存图片到XML文件 /// <summary> /// 保存图片到XML文件 /// </summary> private void UploadImageToXml() { ///得到用户要上传的文件名 string strFilePathName = loFile.PostedFile.FileName; string strFileName = Path.GetFileName(strFilePathName); int FileLength = loFile.Post
跟着阿笨一起玩NET
2018/09/18
2.4K0
使用Python将数据保存到Excel文件
接下来,要知道的另一件重要事情是如何使用Python将数据保存回Excel文件。为什么要再回到Excel?嗯,因为我们大多数人只熟悉Excel,所以我们必须说他们的语言。但是,这并不妨碍我们使用另一种语言来简化我们的工作
fanjy
2021/11/10
19.3K0
使用Python将数据保存到Excel文件
linux 查找目录或文件详解
查找目录:find /(查找范围) -name '查找关键字' -type d 查找文件:find /(查找范围) -name 查找关键字 -print
流柯
2018/08/30
5.8K0
rm命令 – 移除文件或目录
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
契合
2021/08/10
9160
cp命令 – 复制文件或目录
cp命令可以将多个文件复制到一个具体的文件名或一个已经存在的目录下,也可以同时复制多个文件到一个指定的目录中。
契合
2021/08/10
4.1K0
python新建文件或目录
python新建文件或目录: import os 新建文件: os.mknod("/home/aa.txt") 新建目录: os.mkdir("/home/aa") 新建多级目录: os.makedirs("/home/bb/cc")
py3study
2020/01/07
4.3K0
使用python将csv文件快速转存到mysql
因为一些工作需要,我们经常会做一些数据持久化的事情,例如将临时数据存到文件里,又或者是存到数据库里。
我被狗咬了
2019/09/23
6.3K0
使用python将csv文件快速转存到mysql
Linux cp 复制文件或目录命令
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
用户4988376
2021/07/21
10.5K0
Linux 删除文件或目录 rm 命令
1. rm [OPTION]… FILE… ---- remove files or directories - 删除文件或目录 2. 参数选项 ---- -f(—force) 强制删除,不提示确认删除信息、不显示目标不存在的信息 -r(—recursive)递归删除,递归删除目录及其内容 -v(—verbose)显示删除的内容 3. 常见用法 ---- a. 删除指定的目录 rm -rf 目录名 b. 删除指定目录下的所有内容 rm -rf 目录名/* c. 删除当前目录下的所有内容 rm -rf
很酷的站长
2023/02/18
7.2K0
Linux 删除文件或目录 rm 命令
驱动开发:内核遍历文件或目录
在笔者前一篇文章《驱动开发:内核文件读写系列函数》简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于ZwQueryDirectoryFile这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会保存在PFILE_BOTH_DIR_INFORMATION结构下,通过遍历该目录即可获取到文件的详细参数,如下将具体分析并实现遍历目录功能。
王瑞MVP
2023/06/12
5550
驱动开发:内核遍历文件或目录
linux移除文件或目录rm命令
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。
用户1685462
2021/07/24
2.5K0
bad interpreter 没有那个文件或目录
今天在linux上运行一个python脚本,总是报错bad interpreter,开始我以为是解释器的路径问题,可是whereis python告诉我路径没有错!
老高的技术博客
2022/12/27
1.3K0
驱动开发:内核遍历文件或目录
在笔者前一篇文章《驱动开发:内核文件读写系列函数》简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于ZwQueryDirectoryFile这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会保存在PFILE_BOTH_DIR_INFORMATION结构下,通过遍历该目录即可获取到文件的详细参数,如下将具体分析并实现遍历目录功能。
王瑞MVP
2023/10/11
2570
驱动开发:内核遍历文件或目录
Linux cp 复制文件或目录命令
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
用户4988085
2021/07/20
11.8K0
Android将应用程序的崩溃信息如何保存到本地文件,并上传至服务器
导语:最近实在是太忙了,没有怎么更新公众号,也没有怎么认真去写一些内容,在这里先给关注我的朋友说一声抱歉,可能在接下来的一段时间,还是很忙,但是我会争取抽空多分享一下技术文章,给大家看,共同进步,也希望有能力的人可以一起出来分享。 我们在做应用开发的时候,需要程序的崩溃信息,来进行bug的修复和版本的更新,每一个应用程序都会有bug,所以都需要在后台纪录这些bug日志,然后上传到服务器,让程序员看,并进行修复。现在也有很多第三方的jar包能实现这种功能,比如友盟统计等,但是终究不如自己写的方便。好了,废话不
非著名程序员
2018/02/02
2K0
点击加载更多

相似问题

将文件保存到目录

10

AWS Lambda,将S3文件保存到/tmp目录

20

我如何使用Pyspark将doc/docx/docm文件保存到目录或S3桶中?

18

将文件保存到s3

21

将文件保存到应用程序目录中

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文