KAr*_*ves 4 jpeg adobe-photoshop adobe-bridge
我从一位摄影师那里收到了一组照片,需要确认 JPEG 没有保存为渐进式 JPEG。我有 Adobe Bridge 和 Photoshop——我该如何检查?
小智 7
如果您使用的是 unix,请使用以下file
命令:
$ file image.jpg
image.jpg: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], progressive, precision 8, 2000x1200, components 3
- ImageMagick — 在命令行上运行:
identify -verbose mystery.jpg | grep Interlace
输出将是“Interlace:JPEG”或“Interlace:None”。- Photoshop — 打开文件。选择
File -> Save for Web & Devices
。
如果是渐进式 jpeg,则将选中渐进式复选框。- 任何浏览器——基线 jpegs 会从上到下加载,渐进式 jpegs 会做其他事情。如果文件加载太快,您可能需要添加带宽限制。我在 Mac 上使用 ipfw。
查看检测渐进式 JPEG。作者发布了一些人们开发的脚本的链接:
可以使用几个识别字节来识别文件。基于渐进式 DCT 的 JPEG 可以通过字节“0xFF, 0xC2?”来识别。此外,渐进式 JPEG 图像通常包含多次扫描,因此您可以查找几个“扫描开始”匹配项(字节:“0xFF、0xDA”)。作者使用了一个简单的 Bash 命令来得到准确的结果:
>grep -c -P “xffxc2? progressive1.jpg
>1
>grep -c -P “xffxc2? progressive2.jpg
>1
>grep -c -P “xffxc2? baseline1.jpg
>0
>grep -c -P “xffxc2? baseline2.jpg
>0
>grep -c -P “xffxDA” progressive1.jpg
>6
>grep -c -P “xffxDA” progressive2.jpg
>12
Run Code Online (Sandbox Code Playgroud)
该链接还包含许多其他有用的工具。
情节变厚(感谢用户 PussInBoots 提醒我深入挖掘)。该问题询问如何判断 JPEG 是否保存为渐进式。
“另存为”似乎具有灵活的含义。我进行了试验,发现在某些情况下,保存为逐行扫描仅意味着更改了元数据参数(隔行扫描),但实际上并未更改文件以包含逐行扫描。因此该文件包含单个图像,并且渲染软件被告知将其视为渐进式图像。
这些“虚假”渐进式文件在上述测试中的表现方式:
InageMagick: 隔行扫描参数读取为“JPEG”而不是“无”。
Photoshop: 我唯一可用的 Photoshop 版本是古老的(7.0 版)。在 Save for Web 对话框中,Progressive
已针对这些文件预先选中该框,但未针对标准 JPEG 预先选中该框。
浏览器: 我的系统和 Internet 连接速度太快,无法进行有用的测试。在正常情况下,一切都足够接近瞬时,无法可靠地区分任何差异。
识别字节: 这似乎是一个更可靠的指标。“虚假”渐进式 JPEG 没有任何一种识别字节模式。
所以对于最初的问题,如果上面的任何测试表明该文件不是渐进式 JPEG,您可以相信它不是。但是,上面的“简单方法”似乎无法可靠地区分真正的渐进式 JPEG 和“虚假”的 JPEG,因此您不能依靠它们来了解 JPEG是否真的是渐进式的。实际上,PussInBoots 在评论中报告说 Photoshop CS6 似乎有一个默认选择为“渐进式”,因此它的初始设置不会告诉您有关现有文件的任何信息。
归档时间: |
|
查看次数: |
7209 次 |
最近记录: |