问题标签 [jfif]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 具有本机 imagecreatefromjpeg 功能的“未知 JFIF 修订号”
当我尝试使用本机 php 函数保存图像时,imagecreatefromjpeg
有时会出现以下错误:
我的理解(我可能错了)是 JFIF 版本高于原生 php 函数支持的版本。
我如何处理图像或至少优雅地失败?(今天页面显示 HTTP 500 错误)
java - 从 JFIF 读取图像数据?
所以我正在从一个文件中读取 JFIF (JPEG) 数据,作为一个练习(我知道那里已经有库已经这样做了,我不是在寻找那些)。我已经得到了图像文件的大小、颜色深度和尺寸。但是,我不太确定如何获取实际的图像数据。我在十六进制编辑器中查看了数据,并将其与实际图像进行比较让我无处可去。如果有人有一个很好的资源来开始这个(我知道这可能是一个艰巨而有启发性的过程,但这就是我这样做的原因),那将是很棒的。
到目前为止,我的代码仅用于上下文:
然后,我需要获取每个像素并将其发送到图像。如何获取每个像素及其各自的 RGB 数据?
matlab - 使用 16x16 量化表块时如何编写编码信息 (JPEG/JFIF)
我正在尝试通过使用 16x16 量化表块和 DCT 块而不是 8x8 来开发 JPEG 编码器。我在编写这个新图像的 JFIF 标头时遇到了一些问题。0xFFDB 是量化表的 JFIF 标记。有 2 个字节来设置量化表的大小,在我的情况下,大小为 (256+3) = 259。保存图像后,MATLAB 无法读取或显示它。所以我使用了一个工具来读取 JFIF 标头,我注意到 16x16 量化表分为许多 8x8 块的表!!!!!! 如图所示。这个问题有解决办法吗???
android - 保存的位图有错误的 JPEG 数据
我在使用 android Bitmap 创建的文件时遇到了一些问题。
在我的三星设备上,来自相机的照片被旋转,它们在 EXIF 数据中有方向信息,这对程序说,如何正确显示它们。如果我从该文件的预览程序 (Mac) 打开信息,我会在那里看到 3 个选项卡:常规、EXIF 和 TIFF:
但是,如果我在读取、调整大小和写入位图时复制该文件(我需要将其调整为更小的尺寸),则生成的文件会被有效地旋转。此文件的信息有 2 个选项卡:常规和 JFIF。
所以我尝试在调整大小后旋转位图
Matrix.postRotate()
,具体取决于原始文件的 EXIF。矩阵旋转成功,但保存该文件后,它的信息有 2 个选项卡:常规和 TIFF
没有 JFIF 或 EXIF 数据,所以描述没有密度,有些程序读不出来,虽然在 Android 中读成功。
轮换后如何为该新文件添加正确信息?我真的需要帮助,因为谷歌搜索没有提供任何信息......
image - 从没有0xFF 0xC0的jpeg获取宽度和高度
我正在尝试从 jpeg(在本例中为 Instagram 图片)获取文件尺寸(宽度和高度)
据我了解,宽度和高度是在 0xFF 0xC0 标记之后定义的,但是我在这张图片中找不到这个标记。它是否已被剥离或是否有我应该检查的替代标记?
java - 使用更少的内存放大已经很大的 jpeg
我需要放大已经很大的 jpeg,它们用于打印,所以它们需要非常大的 300PPI 文件。生成的图像将太大而无法完全保存在内存中。我的想法就像将原始图像分成小条,分别放大它们中的每一个并将其写入输出文件(另一个 jpeg),永远不要将最终图像完全保留在菜单上。我已经阅读了关于 jpegs 的无损操作,这似乎是可行的方法(使用条创建一个文件并将 mcus、huffman 表和量化表复制到最终文件),还阅读了一些关于 java 上的缩写流的内容。有什么好方法可以做到这一点?
c - 任何大于 16x8 或 8x16 的图像尺寸的 JPEG 编码错误
目前我正在为一个大学项目开发一个 jpeg 编码器。图像具有固定大小,编码器使用固定量化和 Huffman 表进行基线处理。首先,我的代码从 SDRAM 读取 32 位 RGBx 值,转换为 YCbCr 颜色空间,将每个通道归一化为 0 并写回。然后,它开始对 8x8 块进行 DCT,并将熵编码数据写入 SDRAM。此过程使用 C 完成,然后 Python 代码创建一个带有适当 JFIF 标记和熵编码数据的文件。最后,操作系统默认的 jpeg 解码器用于通过简单的双击来查看图像。
我的代码适用于 8x8、8x16 和 16x8 图像,但不适用于 16x16,也不适用于项目中使用的图像的实际大小。下面您可能会看到 16x16 示例。
但是,在 stackoverflow 上,它似乎与我的操作系统的默认解码器不同。下面是它在 macOS 预览应用程序上的样子。
我相信我的问题是由于 JFIF 中的标记或某种算法错误造成的。
如果有 jpeg 经验的人可以帮助我,我会很高兴。
亲切的问候
jpeg - JPEG JFIF 中的重新启动标记是可选的吗?
我正在尝试使用 JPEG (JFIF) 基线图像解码器。在阅读有关重新启动间隔的信息时,我感到困惑。JPEG 图像有一个 DRI 字段,它告诉您图像应该在多少个 MCU 后重新启动。但除此之外,扫描中还插入了重新启动标记。对我来说,这似乎是多余的信息。有人可以建议我们为什么在两个地方需要这些信息吗?还是其中之一是可选的?在我看来,两者都应该足够了。如果我们想要 Restart Intervals 的多线程优势,那么只有 DRI 就足够了。