我试图使用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
所以我有一堆我希望垂直附加的图像:
convert *.png -append output.png
Run Code Online (Sandbox Code Playgroud)
但是我遇到了两个问题:
如何居中对齐所有图像并指定它们之间的间距?
我的主管要求我将使用PerlMagick的Perl脚本部分转换为管道并使用ImageMagick的命令行版本(出于各种不相关的原因).
使用我们现有的界面(裁剪,缩放,保存等),我正在建立一个用户想要对图像执行的操作列表,构造语句到管道然后执行它.
我想知道的是:
显然,对图像执行操作的顺序是至关重要的,所以如果我可以一次执行所有操作(可能获得效率?)或者如果我将不得不执行,我正在努力解决这个问题.每个操作分开.谢谢
perl imagemagick command-line-arguments perlmagick imagemagick-convert
我有很多 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 文件
我在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) 如何将svg图像转换为透明背景的png.我有近4000个svg图像要隐蔽.我试图使用很多转换器,但他们无法提供透明背景.我看到了imagemagick.但是如何使用它来同时转换我的所有图像.我现在能做什么.
我想添加一个模式重复图像作为另一个有空格的图像的背景.例如,我有200x200的图案和1200x800的图像.我已经完成了添加背景颜色.
我用来添加背景颜色的命令
convert -background "#333" -resize 768x450 -gravity Center -extent 768x450
Run Code Online (Sandbox Code Playgroud)
现在我需要添加一个模式而不是那个颜色.有人建议我应该将图案作为一个具有最大尺寸的图像,然后使用它将其添加为背景图像.
是否可以convert使用ImageMagick执行此操作或使用任何其他命令?
我做了几乎所有事情,但我面临一个问题.我在多个位置创建多个水印.运行正常但实际上问题是图像具有良好的分辨率并且水印看起来非常小.我想要任何图像分辨率水印应该缩放和可见这里是我的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) 我正在处理的一个问题是对文档进行OCR.一些paystub文档有一个带点的高亮线,以区分重要元素,如总薪酬,净薪酬等.
这些点在OCR中产生错误结果,它将它们视为":"字符并且不会给出期望的结果.我已经尝试了许多用于图像处理的东西,比如ImageMagick等,以去除这些点.但是在每种情况下,整个文本数据的质量都会降低,导致OCR差.
我尝试过的ImageMagick命令是:
转换mm150.jpg -kuwahara 3 mm2.jpg
我也尝试了连接组件,内核侵蚀等,但每种方法都以某种方式失败.
我想知道是否有一些我应该遵循的方法,或者我是否遗漏了图像处理功能.
imagemagick ×8
png ×2
bash ×1
bitmap ×1
command-line ×1
graphics ×1
image ×1
imagick ×1
laravel ×1
ocr ×1
pdf ×1
perl ×1
perlmagick ×1
php ×1
python ×1
python-3.x ×1
subprocess ×1
svg ×1
transparent ×1