按特定角度和偏移绘制线条

1 投票
2 回答
4053 浏览
提问于 2025-04-15 12:19

我想在我手头的原始图像(一个数组)上画一条特定的线。简单来说,我有一个角度和一个偏移量(是从图像中心测量的),我想把这条线画上去。问题是,我不太确定该怎么做。我可以写一段非常复杂的代码来实现这个,但我在想有没有更简单的方法我不知道(可能可以用matplotlib来做)。谢谢。

2 个回答

1

使用PIL库可以在原始图片上画线、圆圈或者其他图像。

import Image, ImageDraw

im = Image.open("my.png")

draw = ImageDraw.Draw(im)
draw.line((0, 0, 100, 100), fill=128)
del draw 

# write to stdout
im.save(sys.stdout, "PNG")
2

假设你的偏移量实际上是线段中心的 x 和 y 坐标,并且这条线段的长度是固定的,那么用 matplotlib 来解决这个问题其实很简单,只需要用到一些三角函数的知识。

x = [offsetx-linelength*cos(angle), offsetx+linelength*cos(angle)]
y = [offsety-linelength*sin(angle), offsety+linelength*sin(angle)]
plot(x, y, '-')

撰写回答