标签: imagemagick-convert

从python运行imagemagick转换(控制台应用程序)

我试图使用imagemagick光栅化一些字体使用此命令从终端正常工作:

convert -size 30x40 xc:white -fill white -fill black -font "fonts\Helvetica Regular.ttf" -pointsize 40 -gravity South -draw "text 0,0 'O'" draw_text.gif
Run Code Online (Sandbox Code Playgroud)

使用子进程运行相同的命令以使其自动化不起作用:

try:
    cmd= ['convert','-size','30x40','xc:white','-fill','white','-fill','black','-font','fonts\Helvetica Regular.ttf','-pointsize','40','-gravity','South','-draw',"text 0,0 'O'",'draw_text.gif']
    #print(cmd)
    subprocess.check_output(cmd,shell=True,stderr=subprocess.STDOUT)
except CalledProcessError as e:
    print(e)
    print(e.output)
Run Code Online (Sandbox Code Playgroud)

.

Command '['convert', '-size', '30x40', 'xc:white-fill', 'white', '-fill', 'black', '-font', 'fonts\\Helvetica Regular.ttf', '-pointsize', '40', '-gravity', 'South', '-draw', "text 0,0 'O'", 'draw_text.gif']' returned non-zero exit status 4
b'Invalid Parameter - 30x40\r\n'
Run Code Online (Sandbox Code Playgroud)

python subprocess imagemagick python-3.x imagemagick-convert

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

使用ImageMagick转换附加图像

所以我有一堆我希望垂直附加的图像:

convert *.png -append output.png
Run Code Online (Sandbox Code Playgroud)

但是我遇到了两个问题:

  1. 并非所有图像都具有相同的宽度.因此,宽度小于最宽图像的图像在它们之后具有拖尾的白色空间,因为它们是左对齐的.
  2. 图像之间没有间距.

如何居中对齐所有图像并指定它们之间的间距?

graphics imagemagick bitmap imagemagick-convert

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

ImageMagick命令行选项顺序(和命令行参数的类别)

我的主管要求我将使用PerlMagick的Perl脚本部分转换为管道并使用ImageMagick的命令行版本(出于各种不相关的原因).

使用我们现有的界面(裁剪,缩放,保存等),我正在建立一个用户想要对图像执行的操作列表,构造语句到管道然后执行它.

我想知道的是:

  1. 转换操作是从左到右执行的吗?即我传递的顺序
  2. 如果我两次通过相同的选项会怎样?它们是分开进行的吗?

显然,对图像执行操作的顺序是至关重要的,所以如果我可以一次执行所有操作(可能获得效率?)或者如果我将不得不执行,我正在努力解决这个问题.每个操作分开.谢谢

perl imagemagick command-line-arguments perlmagick imagemagick-convert

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

将 PNG 图像转换为没有边距的 PDF

我有很多 PNG 图像(宽度:3488px - 高度:2116px),现在我需要将其放入 pdf 文件中以打印超过 500 页

转换图像时出现的问题,PDF 文件有一些边距,我需要放置没有任何边距的图像,否则将调整大小

所以我尝试这个unix命令(我用imagemagick做这个操作):

convert 675.png 674.png -extent 3508x2480 -border 0x0 test.pdf
Run Code Online (Sandbox Code Playgroud)

你能告诉我怎么做这个手术吗?

PS:我有超过 500 张图像,当我尝试放置所有图像时,转换命令在几秒钟后回复“已杀死”,并且不会创建 pdf 文件

pdf bash png pdf-generation imagemagick-convert

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

计算图像中有多少种具有特定颜色的像素?

我想遍历图像文件夹并输出以控制台#333212有多少像素,#332211有多少像素,等等。在PHP中这可能吗?我找到了一个可以处理图像的程序包,但是不能检测每个像素的颜色的程序包。PHP库中是否存在这样的工具或功能?

编辑:不必在PHP中,我必须安装的软件包越少越好。

image imagemagick-convert

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

防止ImageMagick转换为灰度

我在Windows上使用ImageMagick-6.9.1来调整PNG文件的大小,然后再使用其他工具处理它.源文件是RGBA,但图像数据是灰度(所有像素对于R,G和B具有相同的值).似乎ImageMagick正在检测这个,并将输出转换为灰度,即使我指定格式和颜色空间如下:

convert.exe src.png -format PNG32 -colorspace sRGB -background transparent -resize 830x540 out.png
Run Code Online (Sandbox Code Playgroud)

我已经验证了在几个不同的应用程序(包括Photoshop)中生成的输出格式是8位灰度.这是一个问题,因为后面的处理步骤无法处理灰度格式化和崩溃.向源添加色调可使流程成功完成,但我们需要能够处理未打印的原件.

即使检测到源是灰度,我如何强制ImageMagick输出RGB格式的图像?

更长的日志:(注意IHDR中从color_type 6到color_type 4的转换)

>.\ImageMagick-6.9.1-2\identify.exe -verbose rgba_src.png 
Image: rgba_src.png
  Format: PNG (Portable Network Graphics)
  Mime type: image/png
  Class: DirectClass
  Geometry: 884x747+0+0
  Resolution: 28.35x28.35
  Print size: 31.1817x26.3492
  Units: PixelsPerCentimeter
  Type: GrayscaleAlpha
  Base type: GrayscaleAlpha
  Endianess: Undefined
  Colorspace: Gray
  Depth: 8-bit
  Channel depth:
    gray: 8-bit
    alpha: 8-bit
  Channel statistics:
    Pixels: 660348
    Gray:
      min: 0 (0)
      max: 255 (1)
      mean: 234.605 (0.920019)
      standard deviation: 56.1418 (0.220164)
      kurtosis: 11.312
      skewness: -3.45486 …
Run Code Online (Sandbox Code Playgroud)

imagemagick imagemagick-convert

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

将svg图像转换为透明背景的png

如何将svg图像转换为透明背景的png.我有近4000个svg图像要隐蔽.我试图使用很多转换器,但他们无法提供透明背景.我看到了imagemagick.但是如何使用它来同时转换我的所有图像.我现在能做什么.

svg png imagemagick transparent imagemagick-convert

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

使用ImageMagick转换将图案重复图像添加为另一图像的背景

我想添加一个模式重复图像作为另一个有空格的图像的背景.例如,我有200x200的图案和1200x800的图像.我已经完成了添加背景颜色.

我用来添加背景颜色的命令

convert -background "#333" -resize 768x450 -gravity Center -extent 768x450
Run Code Online (Sandbox Code Playgroud)

现在我需要添加一个模式而不是那个颜色.有人建议我应该将图案作为一个具有最大尺寸的图像,然后使用它将其添加为背景图像.

是否可以convert使用ImageMagick执行此操作或使用任何其他命令?

command-line imagemagick imagemagick-convert

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

如何根据图像调整水印?

我做了几乎所有事情,但我面临一个问题.我在多个位置创建多个水印.运行正常但实际上问题是图像具有良好的分辨率并且水印看起来非常小.我想要任何图像分辨率水印应该缩放和可见这里是我的exec功能,我正在使用laravel框架,我正在使用imagick库

$path = storage_path('app/images/TestImages/');
$mediumFileName = $path.str_random(4)."medium".str_random(4).".".$ext;
$watermarkImage = storage_path('watermark.png');
$saveWatermark = $path."image_watermark.jpg";
exec("convert $mediumFileName \( $watermarkImage -write MPR:wm \) \
-define compose:args=30,100 -compose dissolve            \
      -gravity NorthWest -geometry +3+3 -composite      \
MPR:wm -gravity NorthEast -geometry +3+3 -composite      \
MPR:wm -gravity SouthEast -geometry +3+3 -composite      \
MPR:wm -gravity Center -geometry +3+3 -composite      \
MPR:wm -gravity SouthWest -geometry +3+3 -composite $saveWatermark");
Run Code Online (Sandbox Code Playgroud)

php imagemagick imagick laravel imagemagick-convert

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

如何从文本图像中删除虚线?

我正在处理的一个问题是对文档进行OCR.一些paystub文档有一个带点的高亮线,以区分重要元素,如总薪酬,净薪酬等.

以供参考

这些点在OCR中产生错误结果,它将它们视为":"字符并且不会给出期望的结果.我已经尝试了许多用于图像处理的东西,比如ImageMagick等,以去除这些点.但是在每种情况下,整个文本数据的质量都会降低,导致OCR差.

我尝试过的ImageMagick命令是:

转换mm150.jpg -kuwahara 3 mm2.jpg

我也尝试了连接组件,内核侵蚀等,但每种方法都以某种方式失败.

我想知道是否有一些我应该遵循的方法,或者我是否遗漏了图像处理功能.

ocr imagemagick image-processing imagemagick-convert

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