如何在图像中添加输入编号?

Squ*_*era 1 imagemagick image-processing

我想要一个输入数字和图像的脚本,然后将数字写入图像的一角.

然后我会将此脚本概括为两个输入的列表.

但是,我不知道是否有特定的语言/应用程序来进行这种图像处理.

Mar*_*ell 7

我推荐ImageMagick,它是免费的,安装在大多数Linux发行版上,并且很容易安装在Windows和Mac OSX上.它可以从这里下载.您可以在命令行或PHP/Perl/Ruby和大多数其他语言中使用它.

在命令行,您可以这样做:

convert input.jpg -gravity southeast \
          -stroke '#000C' -strokewidth 2 -annotate 0 'Dail Beagh' \
          -stroke  none   -fill white    -annotate 0 'Dail Beagh' \
          output.jpg
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

或这个...

convert input.jpg -fill red -undercolor '#00000080' -gravity SouthWest \
        -annotate +0+5 'Dail Beagh' output2.jpg   
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

或任何数量的其他版本 - 链接

如果要编写脚本,可以将以下内容保存在名为的文件中 title

#!/bin/bash
image=$1
title=$2

convert "$image" -gravity southeast \
          -stroke '#000C' -strokewidth 2 -annotate 0 "$title" \
          -stroke  none   -fill white    -annotate 0 "$title" \
          output.jpg

convert "$image" -fill red -undercolor '#00000080' -gravity SouthWest \
        -annotate +0+5 "$title" output2.jpg   
Run Code Online (Sandbox Code Playgroud)

然后使其可执行

chmod +x title
Run Code Online (Sandbox Code Playgroud)

然后运行它

./title "input.jpg" "some funky title"
Run Code Online (Sandbox Code Playgroud)

或者如果您特别想要一个号码

./title "some image somewhere.png" 56
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

或者,假设您将一些现成的数字保存为GIF文件,例如

0.gif

在此输入图像描述

9.gif

在此输入图像描述

您可以并排添加它们以制作如下标签:

convert 9.gif 9.gif 0.gif +append label.gif
Run Code Online (Sandbox Code Playgroud)

这样做:

在此输入图像描述

然后用它将它叠加到你的图像上

convert input.jpg -gravity southeast label.gif -composite output.jpg
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

或者,你可以一起做到这一点:

convert input.jpg -gravity southeast   \
    \( 9.gif 9.gif 0.gif +append \)    \
    -composite output.jpg
Run Code Online (Sandbox Code Playgroud)