如何使用已有坐标在图片上标记x、o等指定标识?
坐标标记图片解决方案
下面提供两种可直接落地的实现方式,适配不同使用场景:
方案1:Python + Pillow 批量处理(适配多张图片批量打标需求)
适合有大量图片需要处理的场景,可直接对接你的坐标列表批量生成标记后图片。
- 首先安装依赖库:
pip install pillow - 参考实现代码:
from PIL import Image, ImageDraw, ImageFont # 配置参数 img_path = "你的输入图片路径.jpg" output_path = "标记后输出图片路径.jpg" # 你给出的坐标列表,格式为(x, y) coord_list = [(297, 50), (1404, 321), (1034, 835), (967, 911), (1063, 935)] mark_type = "O" # 可改为"X"切换标记样式 mark_color = "red" mark_size = 15 # 标记大小 # 打开图片 img = Image.open(img_path).convert("RGB") draw = ImageDraw.Draw(img) # 可选:加载字体,不需要可以去掉 # font = ImageFont.truetype("arial.ttf", mark_size) for x, y in coord_list: if mark_type == "O": # 画空心圆作为O标记 draw.ellipse((x - mark_size, y - mark_size, x + mark_size, y + mark_size), outline=mark_color, width=2) elif mark_type == "X": # 画交叉线作为X标记 draw.line((x - mark_size, y - mark_size, x + mark_size, y + mark_size), fill=mark_color, width=2) draw.line((x + mark_size, y - mark_size, x - mark_size, y + mark_size), fill=mark_color, width=2) # 如果要直接打文字标记,用下面的代码 # draw.text((x, y), mark_type, fill=mark_color, font=font) # 保存图片 img.save(output_path)
方案2:ImageMagick 命令行处理(无需写代码,快速打标)
适合单张/少量图片快速处理,不需要配置开发环境,安装ImageMagick后直接运行命令即可:
- 打O标记的示例命令:
convert 输入图片.jpg -fill red -pointsize 20 \ -draw "text 297,50 'O' text 1404,321 'O' text 1034,835 'O' text 967,911 'O' text 1063,935 'O'" \ 输出标记后图片.jpg
如果要打X标记,把命令里的'O'替换为'X'即可,调整pointsize参数可以改标记大小,fill参数可以改标记颜色。
注意事项
- 以上实现默认坐标规则为:图片左上角为原点,x轴向右为正方向,y轴向下为正方向,如果你的坐标是其他原点规则(比如左下角为原点),需要先把y值换算为「图片高度 - 原始y值」再使用
- 如果需要标记矩形/圆形区域,只需要调整绘制逻辑,给定区域的对角坐标即可实现
内容的提问来源于stack exchange,提问作者siyar
相关产品推荐
相关产品推荐

