标签: imagemagick

在 Bash for 循环中,我可以将前一个迭代的标准输出读取为标准输入吗?

我有一个 bash oneliner,我通过相同的 ImageMagick 操作多次对一张图像进行管道传输。我想将其作为 Bash 循环来执行,最好不使用临时文件。

单行是:cat in.jpg | convert -quality 1 - jpg:- | convert -quality 1 - jpg:- | convert -quality 1 - jpg:- > out.jpg

这个也有效:(convert -quality 1 - jpg:- | convert -quality 1 - jpg:- | convert -quality 1 - jpg:-) > out.jpg < in.jpg

convert在命令中,-意思是“从标准输入读取”,jpg:-意思是“以 JPEG 格式输出到标准输出”。

我尝试过执行cat in.jpg | for x in {1..3}; do convert -quality 1 - jpg:-; done > out.jpg(for x …

bash loops pipe imagemagick

1
推荐指数
1
解决办法
314
查看次数

如何在 ImageMagick 7 中将图像大小调整到特定高度?

我需要调整图像大小,结果图像的高度应为 300 像素。图像必须保持原始图像的长宽比。

imagemagick

1
推荐指数
1
解决办法
4368
查看次数

如何使用 ImageMagick 计算一堆图像的中值?

网络上的大多数说明都提到要做的事情

convert *.tif -evaluate-sequence median output.tif
Run Code Online (Sandbox Code Playgroud)

然而,在最新版本的 ImageMagick 中,它会生成一个多页 TIFF 文件,其中包含所有输入图像(每页一个),而不是实际评估中值。

linux imagemagick

1
推荐指数
1
解决办法
1343
查看次数

为什么 Ghostscript 不喜欢我的 PDF 的 ICC 配置文件?

我可以运行以下 GhostScript 成功地将多个 PDF 合并到一个文件中:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=test.pdf file1.pdf file2.pdf file3.pdf
Run Code Online (Sandbox Code Playgroud)

我还需要向 PDF 添加自定义叠加层,因此我执行以下操作:

convert -density 300 -quality 100 file1.pdf -font /usr/share/fonts/urw-base35/NimbusSansNarrow-Regular.otf -pointsize 15 -fill '#000000' -draw 'rectangle 21,1114,675,1220' -fill white -annotate +440+1160 '1 / 3' -annotate +34+1213 'file1.pdf' file1_a.pdf
Run Code Online (Sandbox Code Playgroud)

...对于每个 PDF,然后我再次运行第一个gs命令来合并这些带注释的 PDF,但是当我这样做时,我收到以下错误:

   **** Error: ICCbased space /N value does not match the ICC profile.
                 Using the number of channels from the profile.
                 Output may be incorrect.
Run Code Online (Sandbox Code Playgroud)

我确实找到了一些看起来相关的东西,表明 PDF 是错误的:https://bugs.ghostscript.com/show_bug.cgi ?id=697223

好吧,从根本上来说,您的 PDF 文件已损坏。它使用ICCBased色彩空间,并且色彩空间中声明的分量数量与ICC配置文件的实际内容不匹配。 …

imagemagick ghostscript

1
推荐指数
1
解决办法
1964
查看次数

如何使用 ImageMagick 在页面中最佳地容纳多个图像

假设我在一个文件夹中有一堆不同大小的图像。目标是以空白最少的方式将图像放入多个页面(例如 A4)中。不应涉及任何压缩或调整大小。一些图像被旋转是可以接受的。
这是我想出的,但不尝试以任何方式“适合”图像:

montage *.jpg -mode concatenate -tile 2x2 -page A4 -geometry +20+20 out.pdf
Run Code Online (Sandbox Code Playgroud)

是否可以使用 imagemagick 和 montage 开关?
我想计算几何算法应该改变上面命令的 2x2 和 +20+20 部分,对吗?

optimization imagemagick image-processing computational-geometry imagemagick-montage

1
推荐指数
1
解决办法
1617
查看次数

Imagemagick 删除图像区域

我想从图像中删除一个区域,但我不知道该看哪里。让我举个例子。

来源: 在此输入图像描述

目的地:

在此输入图像描述

因此,我删除了从 100x100 像素开始的 100x100 区域。有人可以指导我去哪里看吗?

imagemagick imagemagick-convert

1
推荐指数
1
解决办法
1134
查看次数

Imagemagick 将图像中的所有颜色替换为白色

我有一堆 PNG 图像(徽标),我想将它们转换为全白色调色板;基本上我想用白色像素替换所有非透明像素。在 imagemagick 中有一个简单的方法可以做到这一点吗?

imagemagick imagemagick-convert

1
推荐指数
1
解决办法
1791
查看次数

您知道如何在 Mac 上设置 Wand 吗?

我只是希望能够导入 Wand 并在 Mac 上的 Python 上使用它,但这似乎不再可能了。

我已经更新并清理了自制程序,然后运行brew install imagemagick@6

然后我export MAGICK_HOME=/opt/homebrew/Cellar/imagemagick@6/6.9.12-40因为那是我的 imagemagick 所在的位置。

我还安装了最新版本的 wand,然后当我尝试from wand.image import Image在 python3 中执行操作时,我收到此错误消息:

OSError: cannot find library; tried paths: [ ... ]
Run Code Online (Sandbox Code Playgroud)

其中...包含我可以看到的正确路径,其中包含 imagemagick 的文件。

那么,如果路径是正确的,为什么 Wand 仍然不起作用呢?

python imagemagick wand

1
推荐指数
1
解决办法
579
查看次数

如何在 ubuntu 映像上安装 imagemagick 7

我想安装 imagemagick v7。我需要将命令添加到我的 Dockerfile 中。

该命令安装v6.9,该版本没有magick命令

RUN apt-get update && apt-get install -y --no-install-recommends imagemagick
Run Code Online (Sandbox Code Playgroud)

谁能帮我找到如何安装 imagemagick v7 来使用 magick 命令?非常感谢

imagemagick

1
推荐指数
1
解决办法
892
查看次数

Python OSError不报告错误

我有这个片段,我用来将图像文件转换为tiff.我希望在文件无法转换时收到通知.Imagemagick在成功运行时退出0,因此我认为以下代码段会报告该问题.但是根本没有报告任何错误.


def image(filePath,dirPath,fileUUID,shortFile):
  try:
    os.system("convert " + filePath + " +compress " + dirPath + "/" + shortFile + ".tif")
  except OSError, e:
    print >>sys.stderr, "image conversion failed: %s" % (e.errno, e.strerror)
    sys.exit(-1)
Run Code Online (Sandbox Code Playgroud)

python imagemagick

0
推荐指数
1
解决办法
416
查看次数