标签: mogrify

使用 (imagemagick) `mogrify` 将 webp 文件转换为动画 gif 时如何避免丢失?

使用 mogrify -format gif *.webp 我在另一个论坛 https://superuser.com/questions/1506337/batch-convert-webp-files-to-gif-files-offline/1506428中找到的代码将 webp 文件转换为动画 gif.. 。

我想知道是否有其他人在使用这种方法时经历过黑色和/或白色“丢失”的斑块?对于许多文件,它可以正常工作,但对于其他文件,例如附件,我必须使用在线转换器来避免此问题。是否有我可以应用的其他过滤器或用于此类转换的其他 CLI 方法?

辍学结果

imagemagick command-line-interface animated-gif mogrify webp

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

使用Mogrify执行调整大小和填充画布

imagemagick网站在此页面上有一个演示:http://www.imagemagick.org/Usage/resize/#resize

我想在此示例中执行操作:

convert logo: -resize 80x80\> \
          -size 80x80 xc:blue +swap -gravity center  -composite \
          space_resize.jpg
Run Code Online (Sandbox Code Playgroud)

但是对于大量的文件.我认为正确的工具是mogrify,但它不知道+ swap或xc:blue flags.

建议吗?

resize imagemagick fill mogrify

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

ImageMagick和mogrify作物

我有一个问题让一个作物在图像上工作(我已经调整大小工作正常)

原始图像是x在调整大小后:

mogrify -resize x75 /my/path/image.jpg
Run Code Online (Sandbox Code Playgroud)

我可以看到执行getimagesize()后调整大小已正常工作:

Array
(
    [0] => 148
    [1] => 75
    [2] => 2
    [3] => width="148" height="75"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)
Run Code Online (Sandbox Code Playgroud)

crop命令是:

mogrify -crop 100x75! +0+0 /my/path/image.jpg
Run Code Online (Sandbox Code Playgroud)

一旦完成,我尝试通过使用确认图像是正确的大小getimagesize()但我得到以下错误,我也无法访问该图像.

Warning (2): getimagesize(/my/path/image.jpg) [function.getimagesize]: failed to open stream: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我使用了错误的裁剪语法吗?

提前致谢!

php imagemagick mogrify

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

ImageMagick - 删除黑色边框

我有大约 100 张扫描图片 (.jpg),全部带有黑色边框(上/右/下/左),如下所示:

输入.jpg

我想自动修剪我的图片,它没有任何黑色边框。

我尝试了不同的代码,使用此代码得到的最佳结果(我使用适用于 Windows 的 Imagemagick 版本 7.0.7-Q16):

magick mogrify -bordercolor black -fuzz 20% -trim -format jpg *.jpg
Run Code Online (Sandbox Code Playgroud)

它生成这张图片:

我的代码的结果

这是一个好的开始,但正如您仍然可以看到的,图像的顶部、右侧、底部和左侧还有剩余的黑色边框,以及天空中的两个黑色区域。

我希望图片看起来像这样:

希望结果

我怎样才能做到这一点?

对我的问题的任何帮助或提示将不胜感激!提前致谢!

image imagemagick mogrify

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

使用ImageMagick将不同图像格式批量转换/调整为特定分辨率的JPEG

我如何使用mogrify批量转换大量文件(.TIF,.EPS,.JPG,但最烦人的全部).PSD文件,只保留第一层?

我找到了一个如何转换所有图像的解决方案,但我一直在输出目录中获取与原始文件不同的文件名(它们的原始文件名附加了-0,-1,-2等).

我有2个文件夹,./ original /(包含我的PSD,EPS,TIF,GIF,JPG和其他图像)+文件夹./converted/(这是我转换的目标文件夹)

我用来转换图像的命令是:

mogrify -verbose -path ./converted/ \
-alpha off -strip -mattecolor white -background white \
-resize 512x512 -format jpg -quality 75% -interlace Plane ./original/*.*
Run Code Online (Sandbox Code Playgroud)

但无论我尝试什么,我都会不断收到这些垃圾,这会破坏我的文件名.然而,有一种模式只是将文件的每个解释合并为一种模式,但由于我在透明文件上获得黑色背景,这也是无用的.

image imagemagick image-conversion batch-processing mogrify

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

需要裁剪+调整大小~300000个文件.运行时间= 4天以上.如何加速我的bash脚本?

我正在制作视频游戏中时光倒流.我拍的所有照片都是以4:3宽高比拍摄的.jpg图像.2592x1944分辨率.我希望他们在1920x1080时都是16:9.

我写了一个小脚本来做这个,但过程不是很快.我花了大约17分钟来裁剪和调整750张图片.我总共需要处理大约300,000个,并且可能会在大约50,000个批次中进行处理.这是每批18小时45分钟,计算总计超过4.5天.

那么有谁知道我可以加快这个计划的方式?

这是我写的bash脚本:

#!/bin/bash  

mkdir cropped

for f in *.JPG
do
    convert $f -resize 1920x1440 -set filename:name '%t' cropped/'%[filename:name].JPG' #Resize Photo, maintain aspect ratio
    convert cropped/$f -crop 1920x1080+0+$1 -set filename:name '%t' cropped/'%[filename:name].JPG' #Crop to 16:9 aspect ratio, takes in $1 argument for where to begin crop
done

echo Cropping Complete!
Run Code Online (Sandbox Code Playgroud)

在循环中每行之前和之后放置一些echo命令会发现调整大小比裁剪花费的时间多得多,我想这并不奇怪.我已经尝试mogrify -path cropped -resize 1920x1440! $f过代替使用,convert $f -resize但似乎没有太大的速度差异.

那么,我可以用任何方式加快运行时间吗?

奖励积分如果你能告诉我一个简单的方法,在程序运行时给出一个简单的进度指示(类似"750个文件中的421个,完成56.13%").

如果您可以添加命令从每个帧输出.mp4文件,可以在SONY Vegas等软件程序中编辑,可以获得额外奖励积分.我已经设法使用这些照片中的mencoder制作视频文件(.avi),但最终的视频无法在我尝试过的任何视频编辑器中使用.

bash runtime imagemagick mogrify imagemagick-convert

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

ImageMagick:如何将目录中的多个TIFF文件批量合并为单个TIFF文件?

我的目录 c:\temp 中有 600 个 TIFF 文件。

文件名如下:

001_1.tif,
001_2.tif,
001_3.tif

002_1.tif,
002_2.tif,
002_3.tif
....
....
200_1.tif,
200_2.tif,
200_3.tif
Run Code Online (Sandbox Code Playgroud)

合并后的文件应放置在同一目录中,文件名称应如下所示:

1_merged.tif
2_merged.tif
.....
.....
200_merged.tif
Run Code Online (Sandbox Code Playgroud)

我正在寻找任何单个命令行/批处理文件通过 ImageMagick convert/mogrify命令或任何其他命令/工具来执行此操作。

请注意,总时间不应超过 5 秒。

tiff imagemagick batch-processing mogrify imagemagick-convert

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

使用 imagemagick 设置图像方向 exif 数据

我有一组带有损坏的 exif 方向数据的图像。我想使用 imagemagick 更改这些图像的方向。我找到了以下命令,mogrify -set "%[EXIF:Orientation]" BottomRight image.jpg但是当我使用Identify -verbose image.jpg未定义的方向数据检查图像时,它似乎不起作用。

command-line imagemagick mogrify

3
推荐指数
2
解决办法
4155
查看次数

使用ImageMagick mogrify来调整图像大小

我是ImageMagick的新手.

我编写了以下命令:1)缩放图像,2)用透明空间调整画布大小,3)将缩放后的图像放在画布底部,4)将结果保存在原始文件上.

convert TreeTest.png -resize 144x216 -background none -gravity South -extent 192x288 -set filename:output %t.%e %[filename:output]
Run Code Online (Sandbox Code Playgroud)

有用!并且完全符合我的要求(在查看不同命令的文档15-20分钟后).

令我困惑的是,使用' mogrify'代替' convert' 看似等效的命令没有可辨别的结果.

这是mogrify我正在尝试使用的命令:

mogrify TreeTest.png -resize 144x216 -background none -gravity South -extent 192x288
Run Code Online (Sandbox Code Playgroud)

结果是,据我所知,图像没有变化.我得到零错误消息或警告(使它看起来像命令执行正确),但图像与以前完全相同.

我究竟做错了什么?

imagemagick mogrify

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

如何使用 mogrify (ImageMagick) 从 NEF 转换为 *.jpg 并保留 EXIF 数据?

我正在将大约 9000 张照片从 .NEF 转换为 .jpg。

  • 我想保留所有 EXIF 数据,最重要的是创建日期和时间、纬度和经度。
  • 我希望 JPG 具有尽可能高的质量。

我刚刚开始从命令行使用 ImageMagick。我也安装了Exiftool。我正在使用该mogrify命令,因为它可以很好地处理批次。

当我跑

mogrify -format jpg *.NEF
Run Code Online (Sandbox Code Playgroud)

我所有的 .NEF 文件都成功转换为 JPG,但所有 EXIF 数据都丢失了

我已经搜索了很多来尝试找到解决方案,似乎我可能需要安装 ufraw,但如果可能的话,我想要一个使用我已经拥有的软件的解决方案 - ImageMagickExiftool

预先感谢您提供有关如何执行此操作的任何建议。

更新:

  • 我使用 mogrify 转换的图像比我的同事使用 picasa 将 NEF 转换为 JPG 输出的图像略小(约 1-2 MB)。但是当我-quality 100在 ImageMagick 中指定时,图像大小增加了大约 45 MB!为什么?
  • 该代码exiftool -tagsfromfile %d%f.NEF -ext jpg -overwrite_original .将 exif 信息添加到 JPG。

jpeg exif imagemagick mogrify exiftool

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