问题标签 [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 回答
3747 浏览

opencv - 在 OpenCV 中使用 libjpeg 将 IplImage 压缩为 JPEG

所以我有这个问题。我有一个 IplImage,我想将其压缩为 JPEG 并对其进行处理。我使用 libjpeg8b。当它运行 jpeg_start_compress() 的函数时,代码退出,并出现“Bogus input colorspace”错误。这是我的代码。

0 投票
1 回答
2959 浏览

xcode - 使用 .jpg 纹理文件的 OpenGL 纹理映射

有谁知道 XCode 是否有用于读写 jpeg 文件的框架(库),库/框架名称是什么?我想加载这个 jpg 图像以在 OpenGL 中进行纹理映射。如果您使用 jpg 图像进行了纹理映射,您介意分享代码吗?
我在这里找到了一个很好的例子,但是它使用的是 .raw 文件而不是 .jpg 文件。当然,开放的 gl 代码是一样的。只有图像加载器功能会有所不同。
http://www.nullterminator.net/gltexture.html

0 投票
4 回答
33114 浏览

c++ - 在使用 libjpeg 读取 JPEG 文件时需要帮助

我遵循了 libjpeg 示例文件中的示例代码,但是我无法读取图像数据。

我有以下结构,我创建了这个结构的一个实例。

下面是我的 read_JPEG_file 函数:

在上面的步骤 6 中,它总是在这个 JPEG_READ_SCANLINES 函数上失败。我在那条线上收到了“EXC_BAD_ACCESS”信号。

有没有人有任何想法,或者有一些关于使用 libjpeg 阅读 .jpg 文件的工作示例,您可以在此处分享?我检查了我的 imageData->pixels 的大小,并将其与 jpeg 文件本身的大小进行了比较,它具有相同的大小。这个变量的内存也是动态分配的,所以我知道这不是内存问题。

有任何想法吗?

0 投票
6 回答
8379 浏览

c++ - libjpeg 解码为 BGR

我正在使用 libjpeg 将 jpeg 图像从磁盘解码到堆上分配的内存缓冲区。我jpeg_read_scanlines用来读取和解码文件中的每个扫描线。这是完美的,将每个像素解码为 24 位 RGB 值。

问题是我正在使用一个额外的第三方库,它需要 BGR 格式(而不是 RGB)的缓冲区。使用这个库时,由于通道的顺序错误,我得到了奇怪的结果。

因此,我想找到一种方法让 libjpeg 解码为 BGR 格式而不是 RGB。我已经浏览了网络,但找不到如何配置 libjpeg 来执行此操作?我知道我可以对内存缓冲区进行额外的传递并手动重新排序颜色通道,但是我正在处理的应用程序对时间非常关键,并且必须尽可能快且尽可能高效。

0 投票
2 回答
395 浏览

image-processing - 在变换域中快速 JPEG 缩放到一半或四分之一

我的印象是 JPEG 到 JPEG 缩放到 1/2 或 1/4 非常快速和高质量,甚至在转换域中完成时内存占用更小(即从不解压缩)。假设这是正确的,我怎么能用 libjpeg 做到这一点?另外,是否需要使用这种方法应用抗混叠滤波器?

(如果它有助于写出更清晰的响应,我在 1D DFT 方面有很多经验)

0 投票
1 回答
345 浏览

c - 使用 libjpeg 的 Seg 错误

我无法理解我从以下代码中得到的分段错误:

注释掉前三个声明中的任何一个都可以解决它...

奇怪的是,以下代码有效:

是否发生了一些奇怪的事情,还是我需要阅读一些 C 教程?

0 投票
2 回答
785 浏览

c++ - 如何检查我的 Linux Box 安装安装是否具有 SSE 指令功能?

如何检查我的 Linux Box 安装安装是否具有 SSE 指令功能?

我正在尝试安装 libjpeg-turbo,我想确保它充分利用了我的机器的功能。

0 投票
2 回答
714 浏览

c++ - 是否可以以编程方式从 JPEG 图像中删除重新启动标记?

是否可以以编程方式从 JPEG 图像中删除重新启动标记?

0 投票
1 回答
843 浏览

.net - libjpeg 和 .Net jpeg 编解码器在单色数据上真的有很大不同吗?

我处理了大量单色图像数据,今天早上我注意到 libjpeg 和 .Net jpeg 编解码器处理单色数据的方式似乎存在显着差异。似乎使用 libjpeg 以任何质量设置保存并使用默认的 .Net jpeg 编解码器打开的单色图像实际上只加载了 16 种不同的灰色阴影,并且所有中间阴影都被渲染为点画。

这是由 libjpeg 保存并由 .net 加载的平滑渐变的直方图

编解码器冲突影响梯度的直方图

直方图应该是完全水平的。

这是渐变的(放大)示例(它应该是完美平滑的过渡) 在此处输入图像描述

这应该是从左侧的灰色 85 到右侧的灰色 136 的平滑过渡,但实际上只渲染了 4 种灰度来进行过渡。

我的问题是我疯了,如果不是这个编解码器差异有多远?如果您在不同的程序中同时使用这两个库,有没有好的解决方法?

我没有责怪任何一个编解码器,只是指出了似乎存在差异的地方。我注意到我知道是使用 libjpeg 创建的图像,认为这是质量设置问题,尝试使用 faststone image resizer 创建测试图像并得到相同的结果,尝试使用 irfanview 并再次得到相同的结果。由于这两个程序都必须使用一些 jpeg 库,我倾向于假设它们也在使用 libjpeg,并且存在真正的编解码器冲突。

在加载方面,我使用我自己的 .net 代码和 Paint.net 加载图像时遇到了相同的结果。

最后,这是一个正常分辨率的示例,您可以下载并自己尝试。在某些程序中加载它会给你一个很好的渐变(例如你的浏览器),但是用你自己的.Net代码加载它,或者Paint.Net会给你一个抖动的渐变,就像上面只使用16个灰色阴影渲染的那样。

在此处输入图像描述

有谁知道更多关于这一点,它走了多远以及可能有什么好的解决方法?

0 投票
9 回答
11135 浏览

python - python PIL中的_imaging C模块错误

我已经阅读了其他关于在 Mac OS X 上安装 PIL 时臭名昭著的 _imaging C 模块错误的帖子,并且在任何地方提供的解决方案(包括 PIL 常见问题解答)都没有被证明有帮助。

我从源代码新安装了最新版本的 libjpeg 和 zlib。我已经编辑了每个 Makefile 以在 LD_FLAGS 变量中包含选项 -arch i386 以用于 32 位构建。PIL 安装没有任何问题,并且打印到终端的安装摘要显示 JPEG、TIFF 和 PNG 支持都可以。之后我尝试自测:

由于各种原因,这很常见。深入探讨,这里我尝试在python中直接导入_imaging。

再次,“找不到符号:_jpeg_resync_to_restart”是臭名昭著的常见问题,许多人认为这与 libjpeg 的路径不正确有关。我一次又一次地检查,我只在我的主目录中安装了 libjpeg(以及 zlib 等),所有这些都安装在单独的文件夹中,来自源代码,所有这些都在文件 setup.py 中正确标记。

所以,PIL 应该从正确的地方获得它的 jpeg 支持(和 zlib 等)。已安装所有依赖项。我可以在我的 sys.path 中看到 _imaging.so,但我仍然收到这个 _jpeg_resync_to_restart 错误。

有没有不链接到替代帖子的想法?我花了大约 7 个小时阅读并尝试从我能找到的每个论坛的帖子中找到可能的解决方案。