子图像的 Imagemagick 位置和大小

标签 image imagemagick crop batch-processing

问题描述:

在 imagemagick 中,使用比较可以很容易地比较两个图像,它会生成一个与被比较的两个图像具有相同大小的图像,以及差异数据。 我想使用 diff 数据并从原始图像中裁剪该部分,同时通过用 alpha 填充其余空间来保持图像大小

我采用的方法:

我现在正试图找出差异的边界框,但运气不佳。例如,下面是我用来生成差异图像的脚本,见下文。现在,我需要找到图像红色部分的边界框。边界框也如下所示。请注意,图像中的数字是任意的,而不是我正在寻找的实际值。

compare -density 300 -metric AE -fuzz 10% ${image} ${otherImage} -compose src ${OUTPUT_DIR}/diff${i}-${j}.png

enter image description here enter image description here

最佳答案

您很久以前就问过 - 我今天才发现这个问题。由于我认为答案可能仍然令人感兴趣,因此我提出以下建议。

convert 的 trim 选项会删除与角像素颜色相同的任何边缘。图像的页面或虚拟 Canvas 信息被保留。因此,如果你运行

convert -trim edPdf.png - | identify -

它给你:

PNG 157x146 512x406+144+32 8-bit PseudoClass 2c 1.08KB 0.000u 0:00.000

您要查找的值是 (144,228),其中后者是 406-146-32,因为您查找的是左下角,而 (+144+32) 给出的是左上角。

关于子图像的 Imagemagick 位置和大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18114495/

相关文章:

macos - Mac OSX Snow Leopard 上的 ImageMagick。有什么办法让它编译并运行吗?

c# - 如何在有 3 个选项时使用 c# 或 imagemagick 确定文档的背景颜色

java - 在 Android 中更改自定义 View 的宽度和高度

android - Android Studio Kotlin:BitmapFactory.decodeStream()返回null

image - 突出显示图像中的特定 RGB 并忽略其余部分

python - 将 C++ copyTo 转换为 Python

javascript - 如何提高加载新叠加图像的 map 性能

image - 使用 imagemagick 检测大部分空图像

iphone - 使用 BJImageCropper 在 iOS 中裁剪图像

image-processing - 裁剪、缩放、调整大小和更改图像的纵横比之间的区别?