Linux:如何用Python在Gimp中合并两幅图片
我必须完成以下任务:两个大小相等的正方形png图像必须并排放在一起,并作为组合图像导出。必须对文件夹中的数百对进行此操作,文件夹的结尾为_1和_2 我认为这可以通过Pytho-Fu在Gimp中完成,但是在紧迫的日程安排下,试图理解Gimp脚本的基本原理有点困难,我真的需要一个解决方案来完成这项任务。我真的很感激你能给我指出正确的方向 如果有比使用Gimp更简单的解决方案,请让我知道。它应该在Linux上运行,理想情况下可以从bash执行Linux:如何用Python在Gimp中合并两幅图片,python,linux,gimp,Python,Linux,Gimp,我必须完成以下任务:两个大小相等的正方形png图像必须并排放在一起,并作为组合图像导出。必须对文件夹中的数百对进行此操作,文件夹的结尾为_1和_2 我认为这可以通过Pytho-Fu在Gimp中完成,但是在紧迫的日程安排下,试图理解Gimp脚本的基本原理有点困难,我真的需要一个解决方案来完成这项任务。我真的很感激你能给我指出正确的方向 如果有比使用Gimp更简单的解决方案,请让我知道。它应该在Linux上运行,理想情况下可以从bash执行 根据xenoid的建议: 我发现ImageMagick的语
根据xenoid的建议: 我发现ImageMagick的语法和文档非常混乱,没有达到最佳状态,因此我将与大家分享我是如何做到这一点的: 对于Ubuntu 18.04.04:
montage -tile x1 -geometry +0+0 input1.png input2.png output.png
整个事情可能对其他人来说都不有趣
#! /bin/bash
input="./Input/"
output="./Output/"
# add to output filename
prefix="CIF_"
postfix="_2"
# get file list
readarray -d '' RRA < <(find $input -regextype posix-egrep -regex '(.*)?_1_cr\.png$' -print0)
echo "Merging ${#RRA[@]} images.."
# remove directory from filename
RRA=( "${RRA[@]##*/}" )
# strip last part of filename: "_1_cr.png"
RRA=( "${RRA[@]/%_1_cr\.png/}" )
# merge images
for fall in "${RRA[@]}";do
# check if there are two images to merge for current case
if test -f "$input${fall}_2_cr.png"; then
echo "${fall}"
montage -tile x1 -tile-offset +10 -geometry +0+0 -border +20+20 -bordercolor white $input${fall}_1_cr.png $input${fall}_2_cr.png $output$prefix${fall}$postfix.png
else
echo "${fall} - no second image found"
fi
done
使用ImageMagick,您可以在每一对上循环,只需执行以下操作:
convert image_1.png image_2.png +append image_1_2.png
看见
如果需要它们之间的空间,请使用+smush X,其中X是所需的空间量。如果希望它们重叠,则使用负值表示X。可以使用-background color设置空间的颜色
看
更好地使用。谢谢,看起来很有希望!