问题标签 [jpeg]

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.

0 投票
2 回答
6037 浏览

java - 如何从 jpeg 文件中的 FFC4 (DHT) 标头创建 Huffman 树?

我以为我可以自己解决这个问题,但我似乎根本没有前进。

好的,背景:

我需要根据 jpg 文件中的 FFC4、DHT(定义霍夫曼表)标头提供的信息创建一个霍夫曼代码树。DHT 标头以这种方式定义 Huffman 表:

1) 一系列 16 字节。每个字节定义有多少个符号具有 n 位数的霍夫曼码,其中 n 是字节在序列中的位置。(这有什么意义吗?!!)例如,十六进制的原始数据是:

00 01 05 01 01 01 ... 00

这意味着:

2) 在 16 个字节列表之后是​​实际符号本身。例如:

00 01 02 03 04 05 06 07 08 09 0A 0B

3)结合这两部分我们看到它们是:
00码1位。
01 2 位代码:因此从列表中取出第一个符号:00
05 3 位代码:因此从列表中取出接下来的 5 个符号:01 02 03 04 05
.. 依此类推

4)最后,我们必须从上面的信息中计算出实际的霍夫曼码。如果您是数学天才,您可能已经发现这些代码可以通过简单地为每个新代码以特定位长度递增适当位数的二进制数来计算。当位长增加时,只需增加二进制数,然后将其加倍并继续。当你手工画出许多这样的二叉树时,其他人就会很明显......

5)所以这是我用来计算霍夫曼代码并将它们存储在数组中的代码:(首先我读取1处的数据)并将其放入数组中:dhtBitnum)

一旦我生成了霍夫曼代码并按顺序存储它们,我就可以按照它们在 2) 中出现的顺序添加它们引用的符号。这可能不是非常优雅,但它似乎至少可以工作并创建正确的表。

6)如果有人仍然遵循这一点,你应该得到一枚奖牌。

7) 现在的问题是我想将此信息存储在二叉树中,以便以后可以有效地解码 jpg 图像数据,而不是每次都搜索数组。不幸的是,我无法直接从上述 jpg 标题中提供的信息中找出一种干净有效的方法来执行此操作。
我能想到的唯一方法是首先计算出上面的霍夫曼代码,然后实现一些方法,根据需要创建节点并将符号保存在适当的位置,使用代码作为各种地址。然而,这似乎是一种重复我需要的信息的方式,我相信一定有一个更好、更简单的方法。

8)因此,如果有人理解我的胡言乱语,我将非常感谢您提出一些建议。我意识到这是一个非常具体的问题,但如果没有别的,上面的信息可能对某人有帮助。我对此还是很陌生,所以请原谅我的无知,特别欢迎易于理解的代码!

0 投票
3 回答
1205 浏览

php - 有谁知道免费工具或如何将 rtf 转换为 jpg

我有一个需要向用户显示的 RTF 文件。我知道如果我想在浏览器中显示它,我需要转换它。我希望能够将其转换为 JPG,以便我可以利用我正在使用的其他代码,这些代码使用 ImageMagick 将 JPG 转换为 PDF。ImageMagick 会将 PDF 转换为 JPG,但不是 RTF :( 我在 windows 框中使用 PHP。

****更新****

我已经弄清楚如何将 RTF 转换为 PDF,然后我使用 ImageMagick 将其转换为 JPG 进行显示。我不喜欢我必须先转到 PDF 的事实,但它有效,所以我会坚持下去。感谢所有回复的人。

0 投票
2 回答
2349 浏览

python - 为 JPEG 构建 Python PIL 看起来不错,但自检失败

我在 Fedora Core 6(64 位)上

在“yum install libjpeg-devel”之后,我已经下载并构建了 PIL。它给出了以下信息:

--- JPEG 支持正常

看起来 JPEG 构建得很好,但是在运行 selftest.py 时:

IOError:解码器 jpeg 不可用

为什么它看起来构建正确,但自检失败?

0 投票
8 回答
23607 浏览

java - 一种简单的方法(工具?)来比较不同格式的图像像素?

好吧,我现在已经在 java 中编写了一个基本的无损 jpeg 连接器,但我想将它生成的文件与原始文件进行比较。

我只能在十六进制编辑器中比较这么多,有没有人知道一种简单的方法,基于软件或基于 Java 的(最好是软件,因为我现在不想再编码了!)我可以比较两个图像并生成“差异图” “哪里的像素不一样?

谢谢。

0 投票
9 回答
69279 浏览

c++ - 如何在 Linux 上的 C++ 中读取 JPEG 和 PNG 像素?

我正在做一些图像处理,我想单独读取 JPEG 和 PNG 图像中的每个像素值。

在我的部署方案中,使用 3rd 方库对我来说会很尴尬(因为我在目标计算机上的访问受到限制),但我假设没有标准的 C 或 C++ 库来读取 JPEG/PNG...

因此,如果您知道一种使用库的方法,那就太好了,如果没有,那么仍然欢迎您回答!

0 投票
5 回答
14191 浏览

java - Java中的无损JPEG旋转(90/180/270度)?

是否有用于以 90 度为增量旋转 JPEG 文件而不会导致图像质量下降的 Java 库?

0 投票
1 回答
396 浏览

c++ - 在 Carbon 中创建 JPEG 时的 JPEG 质量

我正在编写一个 Carbon 应用程序,我们正在创建 JPEG 文件。我目前正在使用 Quartz CGImageDestinations 和 kCGImagePropertyJFIFDictionary 来执行此操作。但是,JFIF 似乎没有任何关于压缩质量的条目。有谁知道如何设置这个?

谢谢

0 投票
3 回答
1307 浏览

java - Scaling images/icons in Java

A project I am working on needs to be resized when the monitor resolution changes. Due to legacy code and other issues, we do it by using a custom library which scales all the components to the appropriate sizes when the resolution changes.

However, when we scale some of the images/icons used in the project, they become blurry/fuzzy/aliased. Mostly because they are all raster gifs.

One solution we thought might work to mitigate this issue is to either use Vector images and convert them into raster images on the fly (and cache them for performance improvements).

What do you all think? Would this be a good way to go? Or are there better alternatives to my chosen method?

If this is a better way, then can someone give pointers to how to go about the svg conversion to say jpg or png(preferably). Available (and commercially usable) libraries?

Thanks

0 投票
1 回答
575 浏览

pdf - Confluence 的 PDF 上传速度慢

我们运行一个使用 Atlassian Confluence 托管的网站。该网站运行良好,现在正在使用。但有一件事。

上传 pdf 和 gif 时,上传速度似乎会变慢。但是较小的文件会很好地上传。还有其他人在将 pdf 上传到 Confluence 时遇到问题吗?

我正在尝试使用提琴手来跟踪速度,但没有运气。任何信息将不胜感激。

0 投票
6 回答
1405 浏览

delphi - Obfuscating images

I want to distribute a few images and not allow others to see them unless they are using my program. My intention will be to use JPG files in which I will alter the header so other image viewers cannot read them anymore. For example I can delete the bytes 7-10 which are the magic signature for JPG. Later, my program will reconstruct the header and show the JPG file.

Question: how do I do this on the fly, without reading the “broken” JPG file, restoring the header, saving the good file to disk and then re-loading it as a “good” JPG file?