我是否应该在数据流的最开始处期待 JPEG SOI 标记?

2024-03-30

...或者我应该深入数据流寻找0xFF 0xD8顺序?

From this Q https://stackoverflow.com/questions/5413022/is-the-2nd-and-3rd-byte-of-a-jpeg-image-always-the-app0-or-app1-marker,我了解到APPn不必立即遵循SOI。是否存在符合规范的 JPEG 情况,其中 SOI 位置!= 流的开头?


引用规范(附录 B,第 1.1.2 节):

标记用于识别不同的结构部分 压缩数据格式。大多数标记开始标记段包含 一组相关参数;有些标记是独立的。所有标记 分配了两字节代码:一个 X'FF' 字节,后跟一个字节,该字节是 不等于 0 或 X’FF’(见表 B.1)。任何标记都可以可选地 前面有任意数量的填充字节,这些字节是分配代码的字节 X'FF'。


libjpegSOI 之前不允许有垃圾:

/* Like next_marker, but used to obtain the initial SOI marker. */
/* For this marker, we do not allow preceding garbage or fill; otherwise,
* we might well scan an entire input file before realizing it ain't JPEG.
* If an application wants to process non-JFIF files, it must seek to the
* SOI before calling the JPEG library.
*/

From: 随机libjpeg镜像 https://github.com/LuaDist/libjpeg/blob/b1dc50aefb40e62d4bb08356e414e785b23a3a5c/jdmarker.c#L957-L964.

例如。这go执行 http://golang.org/src/pkg/image/jpeg/reader.go?s=10732:10777#L238也不允许前面的垃圾。

然而,如果有疑问,请遵循波斯特尔定律:

接受的内容要自由,发送的内容要保守

不过,您不想太自由,否则您可能最终不会从流中提取实际的 JPEG,而是提取嵌入的 EXIF 缩略图或类似的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我是否应该在数据流的最开始处期待 JPEG SOI 标记? 的相关文章

  • “imagecolorat”和透明度

    如何才能获得透明度上一个像素的值image imagecolorat 仅选取图像中指定位置的像素颜色索引 通过该索引 我可以获取 RGB 值 但不能获取透明值 希望您理解 并提前感谢您 解决方案可能如下 colorIndex imageco
  • 有没有办法为 CSS3 边框图像的每一侧使用不同的图像?

    在 Firefox 和 Safari 上 我可以通过以下 CSS 使用图像作为边框 moz border image url shadow left png 0 7 0 7 round round webkit border image u
  • 在表单中突出显示选定的图像 - 使用 Jquery?

    我在谷歌上搜索了答案 但发现什么也没有 所以即使是一个显示如何执行以下操作的页面的链接也将不胜感激 基本上我有一个只有图像的表格
  • 如何获取 android.widget.ImageView 的宽度和高度?

    ImageView Actual image 60px height of ImageView
  • Javascript 像素操作:这些不是我的颜色

    我知道类似的问题已经被问过好几次了 但我还没有找到我想要的东西 我正在将图像读入画布对象 在 JavaScript 中 并尝试操作一些特定的像素 例如 我正在寻找颜色 RGB 224 64 102 并尝试将其更改为其他颜色 我可以将灰度应用
  • 如何在joomla中上传文件?

    您好 我正在 joomla 中制作一个简单的组件 其中包含名称图像详细信息 我必须上传该图像 如何从后端上传图像 使用扩展或定制哪个更好 你能分享任何关于它的好文章吗 我搜索了更多 但由于缺乏对 joomla 的了解 找不到 希望各位天才们
  • Google API 返回的 Google+ 个人资料图片网址是否会发生变化?

    因此 我使用 Google API 通过用户的 user id 来获取人们的个人资料图片 Google API 返回如下 JSON image url https lh5 googleusercontent com OGjgCn9fCPk
  • 在上传过程中调整网页中的图像大小和优化图像的最佳类是什么?

    我正在寻找一个类 使用 C 来检查我的图像尺寸 宽度和高度 或以 kb 为单位的图像尺寸 如果它们与我最喜欢的尺寸不匹配 请调整它们的大小 意味着使用 Constrain 和相对宽度和高度 new大小就像 Photoshop 中的图像大小
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间
  • PHP - 获取base64图像字符串解码并保存为jpg(生成空图像)

    嗨 我实际上是通过 ajax 发送一个 base64 图像字符串到一个 php 脚本 该脚本只是解码字符串并将内容保存为 jpg 文件 但结果是一张空图像 这怎么可能 PHP脚本 uploadedPhotos array photo 1 p
  • .png 和 .jpg 文件解密

    我正在尝试修改我正在使用的软件的图形资产 出于审美目的 我想很难对图形资产做一些有害的事情 但开发人员对它们进行了加密 我不确定他为什么决定这样做 因为我使用和修改了一堆类似的软件 而这些软件的开发人员并没有打扰 因为我看不出为什么需要加密
  • 在android中通过BLE传输图像

    我使用以下代码传输 1 MB 的图像 如果在每个数据包之间实现线程延迟 则图像将成功传输 如果未设置线程延迟 则所有数据包均从BluetoothGattServer 发送 但BluetoothGattCallback 不会接收所有数据包 任
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 在 Android 中调整可绘制对象的大小

    我正在为进度对话框设置一个可绘制对象 pbarDialog 但我的问题是我想每次调整可绘制的大小 但不知道如何调整 这是一些代码 Handler progressHandler new Handler public void handleM
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 判断位图是否全黑的有效方法是什么?

    我想知道是否有一种超级有效的方法来确认 Image 对象引用全黑图像 因此位图中的每个像素都是 ARGB 255 0 0 0 你会推荐什么 大多数位图的尺寸为 1024 x 6000 像素 尽管假设它们始终是该尺寸并不安全 我需要这个 因为
  • 在 Chrome 中,应用于包含图像的锚点的轮廓高度不正确

    对于我正在开发的网站 我希望当链接聚焦 悬停 活动时 链接周围会出现虚线轮廓 我希望文本和图像链接发生这种情况 我遇到的问题是 虽然我的代码在 Firefox 和 IE 中运行良好 但在 Chrome 7 0 517 41 中 虚线轮廓与我
  • 删除 WebView Android 中不需要的空白

    我已经开始使用 WebView 开发应用程序 实际上我正在使用 Webview 加载图像 我喜欢使用该类的内置缩放控件 我可以成功加载图像 但我可以看到一些令人恼火的空白 我找不到删除它的方法 我的图像尺寸为 750 1000 我在下面附上
  • 如何褪色

    我想将像素的颜色淡化为白色 但显然保持相同的颜色 如果我有一个像素 200 120 40 将每个值加上 10 以使 210 130 50 使其颜色相同 只是颜色更浅 还是会完全改变颜色 例如 我知道 100 100 100 即将 110 1

随机推荐

  • 将 jquery masonry 集成到 zurb 基础网格中

    我在将砌体与基础网格布局集成时遇到问题 本质上 对于具有不同高度的相同宽度图像 砌体按预期工作 但在某些断点处 网格将仅具有两列布局 而不是通常的四列布局 但是 如果您继续最小化浏览器宽度 则会返回四列 因此不可能没有空间来显示它们 var
  • 通过父id和mysql中的where子句获取所有子项

    我有一个表 将 id 和parent id 存储在同一个表中 我想要一个接受parent id 作为参数并返回第n 级的所有子节点的递归查询 为此 我正在使用此代码并为我正常工作 select id name parent from sel
  • 如何使用 PowerShell 发送电子邮件

    我想从 PowerShell 发送电子邮件 所以我使用这个命令 EmailFrom email protected cdn cgi l email protection EmailTo email protected cdn cgi l e
  • 使用 eval 和 eval-source-map 有什么区别?

    我正在使用 webpack 来配置源映射 我想知道有人可以澄清 eval 和 eval source map 之间的区别吗 我个人看不出有什么区别 来自文档 https webpack js org configuration devtoo
  • .NET Core 的 IWebProxy 实现的位置

    System Net IWebProxy 的可用实现是什么 来自 System Net Primitives DNX Core 根据应用程序要求 dnxcore50 中可以使用唯一的框架 那么包含代理实现的正确 NuGet 包是什么 解决此
  • 在运行时测试 iOS 版本特定功能的推荐方法

    我的目标是 IOS 4 3 和 5 0 其中一个应用程序是针对 5 0 SDK 构建的 并且希望仅当该应用程序在 iOS5 设备上运行时才添加对 iOS5 中引入的 Twitter 功能的支持 在运行时可靠地测试这些操作系统功能的可用性而不
  • Apollo GraphQL 请求被取消

    我正在使用 React 类型前置文本字段组件Downshift and react apollo 当用户输入时 我正在查询输入建议并将其显示在文本字段下方 不幸的是 这段经历并不顺利 由于某种原因 Apollo 时不时会取消 50 以上的请
  • 使用 facebook graph api 搜索好友

    Facebook 是否有用于搜索用户好友的 API Tim 您可以这样搜索朋友的名字 select uid name sex from user where uid in SELECT uid2 FROM friend WHERE uid1
  • 对于阿拉伯语应用程序,英文字母的顺序相反(在 wkwebview 内)

    您好 当我将操作系统更新到版本 14 时 我在 webview 中看到了一个问题 即我的阿拉伯应用程序上的英文字母顺序相反 我的应用程序本地化设置为 Localization native development region ar 并使用
  • database_cleaner 正在擦除我的开发数据库

    I have database cleaner为我的 Rails 4 应用程序配置 每次运行测试时 我发现我的数据库在两个版本中都被清除了test and development环境 我的配置在rails helper如下 ENV RAIL
  • 使用 build_runner 在子模块中构建 JsonSerialized 模型

    我有一个带有子模块的 Flutter 项目 root Flutter project Flutter module 1 Flutter module 2 Flutter module N 每个模块包含带有注释的类 JsonSerializa
  • 如何在java中将图像转换为棕褐色?

    我正在寻找免费或收费图书馆 Update 看起来没有这样的库 但以下代码按预期工作 param img Image to modify param sepiaIntensity From 0 255 30 produces nice res
  • Paypal IPN 捐赠

    我有一个 WordPress 1 页网站 可以选择在 Paypal 捐赠后下载音乐曲目 最低金额为 3 99 美元 该按钮工作正常并且贝宝付款通过 但我只是从贝宝返回无效 它似乎没有正确地将内容写回到贝宝 另外 我怎样才能看到贝宝发回给我的
  • 防止 EditText 在点击“空格”时转到新行

    我想要一个多行的 EditText 并且句子的第一个字母是大写的 我在用着
  • 布局管理器区域的动态调整大小

    在哪个 Swing 布局管理器中可以通过编程方式更改布局区域 以及如何以最低的成本做到这一点 我必须从头开始创建功能类似于 JSplitPane 但具有三个面板的组件 其中一个时刻是单击分隔板上的 oneTouchExpandable 按钮
  • ASP.NET MVC 菜单所选项目

    好的 MVC 新手 我曾问过this https stackoverflow com questions 4647135 asp net mvc sitemap and or security trimming早些时候提出问题并得到了答案
  • 从 std::tuple 派生时出现混乱,无法处理 std::get

    我的基本想法是从 std tuple 派生我自己的类 以获取一些辅助类型 如下所示 template
  • CLion 行注释的自动缩进不一致

    CLion 中出现一些奇怪的自动缩进 我不明白为什么 这是一个例子 int i1 5 some comments then I hit Enter auto indentation goes here I hit Enter again I
  • 如何从文本文件中读取数据

    如何从文本文件中读取输入 输入文件有几行长 每行的格式为city city distance有两个城市以及它们之间的距离 我尝试了几种方法来读取输入 但不幸的是这些都不起作用 我需要 解析每行上的各个值 每行由 2 个城市名称和它们之间的距
  • 我是否应该在数据流的最开始处期待 JPEG SOI 标记?

    或者我应该深入数据流寻找0xFF 0xD8顺序 From this Q https stackoverflow com questions 5413022 is the 2nd and 3rd byte of a jpeg image al