问题标签 [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.
c - 我可以使用 libjpeg 读取特定的图像行吗?
如果可能的话,使用 libjpeg,我想从 JPEG 图像的中间读取一行,而不读取前面的所有行。这可以做到吗?
c++ - libjpeg中的指针对齐
有人可以解释 WRITE_TWO_PIXELS 和 WRITE_TWO_ALIGNED_PIXELS 之间的区别吗?如果像素是分配uint32_t和addr & 3 == 0的堆栈,它们不应该是等价的吗?
谢谢。
c++ - Libjpeg 错误 - 状态 205 中的不正确调用
我正在使用 libjpeg(Windows Mobile 6.5 上的 C/C++ 编程)来解码来自 IP 摄像机的图像(以 MJPEG 流形式发送),然后再将它们推送到 DirectShow 图形中。
到目前为止,我一直在使用一个函数:接收流,手动解析它(以便找到 JPEG 数据的起点和终点),解码数据(即初始化 libjpeg 结构,读取 JPEG 标头,进行实际解码...)并最终将其推入图表。这可以正常工作,但为了使事情更顺畅和更整洁,我想使用一个函数进行接收,该函数调用另一个函数(后来是一个线程)进行解码/推送。
因此,作为第一步,我不是在找到流中的数据后立即执行所有 JPEG 工作,而是简单地调用另一个函数来负责 JPEG 结构的初始化/标头读取/解码/推送。
这就是我得到一个我无法破译的错误的地方:“在状态 205 中对 jpeg 库的调用不当”。
// 为清晰而编辑
现在,我的代码如下所示:
我想让我的代码看起来像:
任何帮助将不胜感激。非常感谢 !
// 编辑
我意识到我在原始帖子中省略了很多信息。以下是一些(也许)有用的细节:
- 我正在使用 VS2008,但由于许多原因,我不使用内置调试器或仿真器。而是直接在 Windows Mobile 设备上部署和测试 exe 文件,使用自定义的类似 dos 的命令提示符。
- libjpeg 最初读取和写入文件,但我使用的是补丁(和自定义错误处理程序),可以直接从缓冲区读取数据,而无需打开文件。代码可以在这里找到,它使用以这种方式定义的“扩展错误处理程序”:
image - 有没有一种聪明的方法可以将图像压缩到最大文件大小而不是质量级别?
Google App Engine 对超过 1M 的图像文件感到愤怒。 http://code.google.com/appengine/docs/python/images/overview.html#Quotas_and_Limits
给定任意用户提供的图像,以及运行 C 代码对其进行预处理的能力,有没有什么聪明的方法可以以最高质量降低到 1M?
蛮力方法是通过尝试一系列 JPEG 质量设置和一系列比例因子来搜索生成 <1M 文件的压缩级别和分辨率。
除了蛮力搜索之外,还有什么巧妙的方法来选择最佳 JPEG 质量和比例因子以实现 1M 文件大小?
什么可能是一些好的启发式方法,也许是关于在各种 JPEG 质量级别上实现的压缩百分比的假设?
蛮力具有简单的优点,无论如何它可能会足够快,但只是好奇。
c++ - jpeg_read_header libjpeg 的替代品
所以我在 Windows 上使用 libjpeg 时遇到了一个问题,导致 jpeg_read_header() 崩溃。
这个问题(相当搞笑)在这里描述:http: //sourceforge.net/projects/gnuwin32/forums/forum/74807/topic/1629371 ?message=4053776
我已经决定第三个选项,它不使用 jpeg_stdio_src/dest API。但是,经过大量谷歌搜索,我似乎找不到帖子末尾提到的“将数据输入 libjpeg 的其他方法”,有人能指出我正确的地方吗?
opengl - opengl像素数据到jpeg
任何可用于将从 glReadPixels 获得的原始像素数据转换为 JPEG 格式并返回的 C++ 示例?
macos - 如何在 Mac OSX 10.4 中以通用二进制编译 LibJpeg
我想用通用二进制(ppc,i386)编译jpeg-8b。它应该在 10.4 和更高版本的操作系统中受支持'
我可以在 10.5 和 10.6 中做到这一点,但二进制文件与 10.4 不兼容
所以我尝试在 10.4 中编译它,但它失败了。
这是我在做什么
它失败并出现错误“配置:错误:C 编译器无法创建可执行文件”
如果我能获得 10.4 兼容的通用二进制文件将会很有帮助。
问候, 达纳
django - JPEG 的 Django ImageField 问题
我在 Django 中遇到了 PIL(Python 图像库)的一个主要问题,并且已经跳过了很多圈,到目前为止还无法弄清楚问题的根源是什么。
问题基本上分解为无法通过 Django 管理员中的 ImageField 上传 JPEG 图像。但问题并不像安装 libjpeg 那样简单。
首先,我安装了 PIL(通过 Buildout),并在安装后意识到我没有安装 libjpeg,因为 JPEG 支持不可用。
我自己没有设置服务器,我只是假设它没有安装,我从源代码编译了 libjpeg 8。这最终出现在我的/usr/local/lib/目录中。我清除了我的 Buildout 文件并重建了所有内容。这次当 PIL 编译时,我有 JPEG 支持。但是我去了 Django Admin 并尝试通过 ImageField 上传 JPEG,但没有成功。我收到“上传有效图片。您上传的文件不是图片或损坏的图片”错误。作为一个测试,我打开了一个 Djano shell 并运行了以下命令:
这运行没有错误,并表明 PIL 能够打开 JPEG。
做了一些阅读后,我遇到了这个线程: Is it possible to control which libraries apache uses?
看起来 PHP 也使用 libjpeg 并且在 Django 之前加载,因此之前加载了 libjpeg 6.2。这是使用lsof时显示的:
所以我的想法是我应该使用 libjpeg 6.2。所以我删除了位于我的/usr/local/lib目录中的 libjpeg。重新阅读 PIL 安装说明后,我意识到我可能没有 PIL 需要的 libjpeg 的 dev/header 文件。所以我还使用 aptitude 卸载程序(sudo aptitude remove libjpeg62)卸载了 libjpeg。然后为了确保我得到了 PIL 需要的头文件,我使用 aptitude 安装了 libjpeg:(sudo aptget install libjpeg62-dev)。
从这里我清理了我的 Buildout 目录,然后重新运行 Buildout,它又重新安装了 PIL。再次,我有 JPEG 支持,现在使用 libjpeg62。
所以我去 Django Admin 中测试。仍然不支持JPEG。所以我想测试一下对 JPEG 的支持,看看异常是否没有被处理,会抛出什么样的错误。所以在我的主页视图中,我添加了以下代码来打开 JPEG 图像:
然后我将 i 传递给 HTML 视图,以便轻松查看输出。我将这些更改部署到服务器并重新启动。我很惊讶没有看到错误并得到以下输出:
所以在这一点上我真的很困惑:
- 为什么我可以成功打开 JPEG 而管理员却不能?
- 我错过了什么吗,这不是 libjpeg 的问题吗?
- 如果 libjpeg 没有问题,为什么我可以毫无问题地上传 PNG?
任何帮助将不胜感激,我已经为此调试了 2 天,但没有运气。
设置: 1. Rackspace 云服务器 2. Ubuntu 10.04 3. Django 1.2.3(通过 Buildout 安装) 4. PIL 1.1.7(通过 Buildout 安装) 5. libjpeg 6.2(通过 aptitude 安装(sudo aptget install libjpeg62-dev)
c++ - 使用libjpeg写入内存缓冲区而不是文件?
我发现这个函数使用 libjpeg 写入文件:
我实际上需要将 jpeg 压缩图像写入内存缓冲区,而不将其保存到文件中,以节省时间。有人可以给我一个例子吗?
我已经在网上搜索了一段时间,但是如果有的话,文档非常罕见,而且示例也很难找到。
python - PIL /JPEG 库:“解码器 jpeg 不可用”
我尝试使用 PIL 在我的 django 应用程序中使用 PIL 做一些 JPEG 工作,但我得到了这个 IOError .. 不知道该怎么做。
我是否缺少服务器上的 JPEG 解码器?如果是这样,我该如何解决?