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