问题标签 [libjpeg]

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 回答
1820 浏览

eclipse - Eclipse:LD_LIBRARY_PATH、OpenJDK 和 libjpeg

在我的开发机器(Linux)上,我根本没有设置LD_LIBRARY_PATH,因为我使用的库要么在默认目录中,要么我已将它们添加到ld.conf.

但是当我使用 Eclipse 时,我LD_LIBRARY_PATH的设置为:

(为可读性添加了换行符)。

我不介意 xulrunner,但 OpenJDK 会导致我的应用程序加载

代替

这导致随后的失败,因为来自 OpenJDK 的是 6b,而我使用的是 libjpeg 8。

我知道我可以LD_LIBRARY_PATH在编译 C++ 时覆盖,但是一旦我尝试执行链接我刚​​刚编译的共享库的 Python 代码,它就会失败。

我怎样才能改变这个全局LD_LIBRARY_PATH

0 投票
3 回答
5225 浏览

java - 我可以使用 libjpeg 读取带有 alpha 通道的 JPEG 吗?

关于带有 alpha 通道的 JPEG 是否有效似乎存在一些争论。我一直认为正确的答案是在 JPEG FAQ中,基本上是“否”。(这在 Stack Overflow 上的另一个问题中得到了重申。)

但是,Sun 的 ImageIO 库中的 Java JPEGImageWriter 将愉快地使用 alpha 通道写入和读取灰度和 RGB 图像,即使到目前为止我尝试过的 Linux 上几乎没有应用程序可以正确加载此类 JPEG。这在过去被报告为一个错误,但 Sun 的回应是这些文件是有效的:

这不是 Image I/O 错误,而是提交者提到的其他应用程序的缺陷。IIO JPEGImageWriter 能够使用包含 alpha 通道的颜色模型编写图像(在 IJG 原生源代码中称为“NIFTY”颜色空间,例如 RGBA、YCbCrA 等),但许多应用程序并不知道这些色彩空间。因此,即使 IIO JPEG 编写器编写的这些图像符合 JPEG 规范(对各种颜色空间的可能性视而不见),某些应用程序可能无法识别包含 alpha 通道的颜色空间,并可能引发错误或呈现损坏的图片,正如提交者描述的那样。

希望与这些其他不知道 alpha 的应用程序保持兼容性的开发人员应该编写不包含 alpha 通道的图像(例如 TYPE_INT_RGB)。想要以 JPEG 格式写入/读取包含 Alpha 通道的图像的开发人员可以使用 Image I/O API 来实现,但需要注意许多本地应用程序不太符合 YCbCrA 和 RGBA格式。

有关详细信息,请参阅图像 I/O JPEG 元数据格式规范和使用说明:http: //java.sun.com/j2se/1.4.1/docs/api/javax/imageio/metadata/doc-files/jpeg_metadata。 html

关闭为“不是错误”。xxxxx@xxxxx 2003-03-24

我正在使用创建此类文件的 Java 应用程序,并希望编写一些 C 代码以尽可能快地加载这些文件。(本质上问题是 Java ImageIO 库在解压缩这些文件时非常慢,我们希望通过 JNI 用本机代码替换加载器以改进这一点 - 目前这是一个性能瓶颈。)

这里有一些示例文件 - 向任何有恐惧症的人道歉

在这里,您可以看到尝试使用我相信使用的各种 Linux 软件查看灰度+alpha 和 RGB+alpha 图像的结果libjpeg

带有各种程序的 alpha 通道视图的灰度图像 http://mythic-beasts.com/~mark/all-alpha-bridges.png

具有各种程序的 Alpha 通道视图的 RGB 图像
(来源:mythic-beasts.com 上的标记

所以看起来色彩空间在每种情况下都被误解了。中唯一允许的值jpeglib.h是:

...这看起来并不乐观。

example.c如果我使用from的略微修改版本加载这些图像,则读取标题后每个图像的和libjpeg值如下:cinfo.jpeg_color_spacecinfo.out_color_space

所以,我的问题是:

  • 可以使用 libjpeg 正确读取这些文件吗?
  • 如果没有,我可以使用替代 C 库来应对它们吗?

显然,对于更一般的问题,至少还有两种其他解决方案:

  1. 更改软件以输出普通 JPEG + 表示 Alpha 通道的 PNG 文件
  2. 以某种方式提高 Sun 的 ImageIO 的性能

...但第一个将涉及大量代码更改,并且不清楚如何处理后者。无论如何,我认为如何使用libjpeg来加载此类文件的问题可能是更普遍的兴趣之一。

任何建议将不胜感激。

0 投票
1 回答
1225 浏览

c++ - 使用 Mini Jpeg 解码器逐像素处理 JPEG 图像

我想使用解码器Mini Jpeg Decoder用 C++ 处理 JPEG 图像。

问题是:我想读取每个像素的像素,但解码器只返回一个 imageData 数组,与libjpeg类似。

我不能做这样的方法:

返回(char变量)应包含像素的亮度。

(我使用灰度图像...)

我怎么解决这个问题?

0 投票
3 回答
2762 浏览

macos - “错误:读取图像文件时数据流损坏”(OS X 上的 TrueType 字体 libjpeg 和 PIL)

我正在运行 OS X 10.6.7、Python 2.6,并编写了一个小型 wxPython 应用程序,该应用程序使用 PIL 来操作图像并向其添加一些文本。

在尝试使用 libjpeg 和 PIL 运行 PIL 进行了相当多的配置问题之后,我按照此站点上的说明进行操作。

运行后python setup.py build_ext -i(从 Imaging-1.1.7 文件夹中)我得到:

此外,python selftest.py在 Imaging-1.1.7 安装文件夹中运行,我得到:

但是,在我自己的代码中渲染我的第一个 PIL 图像时,我仍然得到:

我有点不知道接下来要尝试什么。有任何想法吗?导致此崩溃的代码似乎是:

0 投票
2 回答
1179 浏览

c++ - 通过网络(远程截屏应用程序)传输 JPEG 压缩的屏幕图块时,是否值得/推荐使用 zlib(或类似的)压缩?

我开始在 C++(Windows 平台)中实现某种远程截屏(类似 VNC)客户端/服务器软件,它只是通过网络传输屏幕更新(图像块)。

在通过网络发送之前,屏幕被分成块,每个图块都被压缩成 JPEG(我可能会使用 libjpeg-turbo)。所以我的问题是,为这些(已经 JPEG 压缩的)图块实现另一层压缩(无损)是否会很好,例如使用 zlib?

我感觉 zlib 在带宽方面不会有任何显着改善,因为 JPEG 文件已经被压缩了。我想避免更多的时间和金钱投资来实现额外的压缩层只是为了测试目的,所以我想听听你的建议。

PS:作为一个附带问题,有没有比将图块编码为 JPEG 更好的选择?也许马上无损压缩?上述技术(将屏幕划分为图块 => 选择更新的图块 => 将它们压缩为 JPEG => 通过网络发送)是实现此类软件的好方法吗?

任何形式的输入将不胜感激!

0 投票
1 回答
3393 浏览

c++ - 如何使用 libjpeg 从 std::istream 读取 JPEG?

FILE*libjpeg 可以从一个或一个缓冲区中读取 JPEG 数据。我的数据来自std::istream. 我可以将整个内容读入缓冲区以与 libjpeg 一起使用,但如果可能std::istream的话,我宁愿让 libjpeg 直接从其中读取。std::istream如何才能做到这一点?

0 投票
2 回答
1834 浏览

c++ - 使用 openNi/NITE 从 Kinect 生成 jpeg 图像

我正在尝试生成将图像帧传递给 Kinect 的面部检测/跟踪算法。我已经看到从 openGL 纹理生成 jpeg 图像的最佳方法是通过 libjpeg,但我不知道如何开始。这就是我现在的代码:

那么我怎样才能传递这个 g_pTexMap 东西以保存为 jpeg 图像呢?

0 投票
1 回答
3028 浏览

c++ - 将 YCCK jpeg 转换为 RGB

我有一个 jpeg 图像,其颜色在 YCCK 颜色空间中编码。我已经使用 libjpeg 在 C++ 中对其进行了解码。如何将其转换为 RGB?

将其转换为 CMYK 对我也很有用,因为我知道如何使用 ICC 颜色配置文件将 CMYK 转换为 RGB。

0 投票
4 回答
2710 浏览

python - 使用 libjpeg 的 Python 映像库错误

我有一个 centos 5,正在尝试启动 Python Imaging 库。我安装了 libjpeg、libjpeg-devel 等,但仍然无法将 jpeg 图像上传到我的 django 站点。

我已经多次重新安装 PIL。通过 PIP,通过 easy_install2.6 并手动构建。每次它显示 JPEG 支持可用 - 但不会让我上传 jpeg 文件。它会接受 gif 和 png。

我正在运行 python2.6,PIL 1.1.7

有任何想法吗?

谢谢

0 投票
1 回答
532 浏览

yuv - LibJPEG 的 CbCr 值是有符号还是无符号

我有一个 SoC 相机模块,它输出以下范围内的 YCbCr 数据:Y (0 -> 255) Cb 和 Cr (-127 -> 127)

现在我的问题是,libjpeg 是否接受这些带符号的值,或者我应该更改带符号的值,使它们在 0 -> 255 的范围内?

我正在使用 ATMEL 提供的 libjpeg 'bolt-on' jpeg 压缩器作为 SAM3s-EK 的一部分。ijg_compress_raw_no_padding 函数的附加部分的代码如下所示......据我所知,这采用了我漂亮整洁的 YCbCr 数据数组并操作成 libjpeg 喜欢的形式;-)

我也不完全确定值应该在我发送这个函数的原始数据数组中的顺序,即;YCbCrY 或 YCbYCr 等,但我可以玩这个,因为当查看输出图像时它变得很明显。

因为它是我得到的图像,其中一些颜色似乎混合在一起,红色和蓝色似乎被交换了,黄色和绿色也是如此。

所以我重复我最初的问题,以防它在那里丢失:

此函数是否仅接受区域 0->255 中的值,或者它是否接受来自具有 Y (0->255) 和 Cb & Cr (-127->127) 的相机的数据?

如果有人可以就应该打包的顺序提供建议,那也会有所帮助。

非常感谢 deBoogle