python 读取图片,画矩形框,然后保存,分辨率不变。

发布于 2022-09-05 08:20:54 字数 130 浏览 19 评论 0

我现在想读取一个图片,然后在这个图片上 某个位置画个矩形框,要求可以定义这个矩形框 线的宽度,
传统的PIL 的draw rectangle 无法设置线宽。 Matplot搜了半天,不知道怎么按原分辨率保存,似乎会有很多的白边。求解决方案!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

静若繁花 2022-09-12 08:20:54

查了一下文档,发现可以用画线段的方法画。

draw = ImageDraw.Draw(im)
draw.line([(x,y),(x+width,y),(x+width,y+height),(x,y+width),(x,y)], width=line_width, fill=line_color)
情深缘浅 2022-09-12 08:20:54

其实变通一下就能满足你的需求,线宽是1,你如果想线宽5,那就画5次就行了

from PIL import Image, ImageDraw

im = Image.open("a.jpeg")
draw = ImageDraw.Draw(im)

line = 5
x, y = 10, 10
width, height = 100, 50
for i in range(1, line + 1):
    draw.rectangle((x + (line - i), y + (line - i), x + width + i, y + height + i), outline='red')

im.save("b.jpeg")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文