问题标签 [imagemagick-identify]

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 投票
1 回答
797 浏览

node.js - ImageMagick 识别报告不正确的 GIF 帧数

我正在使用 ImageMagick 对 GIF 图像做一些事情。

我的步骤之一是identify计算图像中的帧数。
identify通过node-imagemagick(以及后来的gm)调用,如下所示:

大多数情况下,我正确地获得了 53 帧的 53 个空格分隔值。
有时我会为同一张 GIF 图像(有 53 帧)获得 47 或 50 帧。

这怎么可能发生?

convert -coalesce -append test.gif other.gif同时在跑,但它不应该触及原始图像,对吧?此外,我检查并发现原始图像很好,即使报告了错误的帧数。

我什至无法始终如一地重现这一点。我在哪里寻找问题?

当我同时运行多个 ImageMagick 进程(在不同的文件上)时,这似乎会发生。

我正在使用 ImageMagick 6.8.7-9 Q16 x86_64 2013-12-11。

有问题的图像:

(但我在其他图像上也遇到过这种情况。)

0 投票
1 回答
469 浏览

imagemagick - ImageMagick:获取相对于 EXIF 方向的图像大小

我知道在调整图像大小时convert可以使用-auto-orient参数正确旋转图像,但是我可以使用某种方式获得图像相对于 EXIF 方向的旋转大小identify吗?

0 投票
2 回答
11617 浏览

python - 在 Python 中检测两个图像在视觉上是否相同的快速有效的方法

给定两张图片:

什么是检测它们在 Python 中视觉上是否相同的快速方法?例如,它们可能具有不同的 EXIF 数据,即使图像数据相同,也会产生不同的校验和)。

Imagemagick 有一个出色的工具“identify”,它可以生成图像的视觉散列,但它需要大量处理器。

0 投票
1 回答
289 浏览

imagemagick - Imagemagick GraphicsMagick 图像均值命令

我使用以下适用于 imagemagick 的命令来获取图片的平均值

相同的命令在 graphicsmagick 下不起作用。有没有我可以使用的等价物?

0 投票
3 回答
3387 浏览

php - 如何使用 ImageMagick 防止图像炸弹?

我目前在 PHP 上使用 Imagick 库并使用 Image Magick 的调整大小功能。我刚刚了解了减压炸弹以及 ImageMagick 如何容易受到它的攻击。

我已经检查了如何在不实际将其加载到内存/磁盘中的情况下 ping 图像并验证图像的尺寸。限制 ImageMagick 的内存和磁盘限制也更安全,因此它不会只是在磁盘上写入一个大文件。

我已经阅读并且可以使用 setResourceLimit() 来做到这一点。 http://php.net/manual/en/imagick.setresourcelimit.php

但是,发生的情况是,在设置磁盘和内存的限制后,如果图像确实达到了这个限制,我得到的只是一个分段错误,没有抛出异常。这使我无法正确处理它。

更新:

以下是我正在使用的软件包版本:

0 投票
1 回答
724 浏览

imagemagick - 提取图像的一部分以识别

我尝试获取有关图像一部分的详细信息。我阅读了 imageMagick 的文档,据我了解,应该可以使用 -extract 选项调用 identify 。但是,当我调用它时,我收到一条错误消息: 'unrecognized option: -extract'.

这是我的命令行调用identify -verbose -extract 20x20+0+20 ./mosaicTemplate.jpg

有谁知道,我的命令行调用有什么问题或有一个方便的解决方法?

提前致谢!西蒙

0 投票
2 回答
8452 浏览

image-processing - ImageMagick 将 BMP 从 24 位转换为 16 位模式?

我正在尝试在 ImageMagick 中将 BMP 从 24 位/像素模式转换为 16 位/像素模式。

根据以下输出:每 R.、每 G. 和每 B. 结果具有相同的 8 位:identify -verbose

我究竟做错了什么?如何在 BMP 中获得 16 位颜色?

谢谢!

附言

-深度值

图像的深度。这是一个像素中的位数。唯一可接受的值是 8 或 16。 http://linux.math.tifr.res.in/manuals/html/convert.html

=(

官方文档说(没有提到限制):

-深度值

图像的深度。

这是像素内颜色样本中的位数。使用此选项可指定深度未知的原始图像的深度,例如 GRAY、RGB 或 CMYK,或在读取任何图像后更改其深度。


转换 /tmp/a/new/37.bmp -colors 256 /tmp/a/new/37_256.bmp

使文件更小,但在视觉上它是相同的!怎么?!)))))


转换 /tmp/a/new/37.bmp -colors 65536 /tmp/a/new/37_64k.bmp

同样的大小,同样的视觉画面。


转换 /tmp/a/new/37.bmp -dither 无 -colors 256 /tmp/a/new/37_256_nd.bmp

又小了一点,但看起来不像256色!漏洞?256 个彩色 800x600 BMP 约为 800x600x1 字节(无标题)~ 480 000 字节。但它说〜650 000字节))))有趣的程序))

0 投票
1 回答
586 浏览

imagemagick - ImageMagick 识别 Mac 和 Linux 之间的不同色彩空间

我有一个JPEG图像。

在我的 Mac 上,当我输入:

我明白了Colorspace: sRGB

在我的 Linux 机器上,当我键入相同的内容时,我得到Colorspace: RGB.

为什么?有没有人遇到过这个?


这很重要的原因:

convert img.jpg -colorspace sRGB out.jpg当我在 Mac 和 Linux 之间使用时,我得到了截然不同的结果。显然,如果他们以不同的方式识别源色彩空间,那么我就能明白为什么。

0 投票
1 回答
470 浏览

imagemagick - 图像魔术。在不改变文档质量和大小的情况下对文档进行编辑

我是 ImageMagick 的新手。我需要在文档(.doc)和图像格式上创建编辑,以便在 ImageMagick 的帮助下覆盖一些文本。然后,我必须将其转换为 .tif 格式。我不想更改文档的大小,因为我想使用默认大小执行。应该使用什么命令?

0 投票
0 回答
956 浏览

imagemagick - ImageMagick 无法读取 JPEG 图像

我使用 ImageMagick 6.9.0 已经有一段时间了,不久前在 Windows Server 2008 R2 标准版机器上使用它设置了一些 Railo 脚本。我知道他们当时工作。我现在只是尝试在一组新图像上运行它们,但是 ImageMagick 在第一个命令上失败了:

返回的错误是:

我从来没有见过这样的事情。于是我查了一下,发现有新版本出来了,就下载了IM 7.0.1。我尝试再次运行上述命令而没有任何更改,但这次指向 7.0.1 安装文件夹。这导致了一个不同但相似的错误:

我查看了错误中的目录,那里有一个名为 IM_MOD_RL_jpeg_.dll 的文件。

我尝试使用的图像都是不同的,在测试期间我已经循环了 50 个左右。但所有都是从 Photoshop CS5 Camera Raw 导出为 jpeg 格式的 4 到 10 兆像素的照片。我试过摆弄驱动器号和文件扩展名的大小写但没有成功。其中一个图像的示例路径是:

我不确定接下来要尝试什么。我尝试根据 IM 论坛上的一条旧消息运行此命令,以获取我的解码代表列表:

但是 IM 告诉我 configure 不是一个有效的列表选项。无论如何,听起来安装新的解码委托需要重新编译,而我一直在依赖预编译的二进制文件(我认为它至少能够读取 jpeg)。