Python:如何在图像中添加曲线

时间:2017-06-05 23:56:12

标签: python

我的图像如下:

enter image description here

图像是在Python中生成的。我想进一步绘制图像顶部的曲线,该曲线包围白色区域。我已经获得了区域边界的像素索引。我在Matlab中知道,例如,它可以通过以下方式完成:

hold on
plot(x,y,'r-') %x and y are the indices of boundary pixels.

结果图像应该是这样的:

enter image description here

如何在Python中的图像上创建轮廓,而不是通过cv2.drawContours?任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用Pillow库。没有进入整个解决方案,在他们的教程中有一个很好的例子,如何阅读图像,并在其上绘制一些后记:https://pillow.readthedocs.io/en/4.1.x/handbook/tutorial.html#drawing-postscript

您几乎只需要将矩形更改为圆形。

减少的例子是:

from PIL import Image
from PIL import PSDraw

im = Image.open("lena.ppm")
box = (1*72, 2*72, 7*72, 10*72) # in points

ps = PSDraw.PSDraw() # default is sys.stdout
ps.begin_document(title)

# draw the image (75 dpi)
ps.image(box, im, 75)
ps.rectangle(box)

ps.end_document()

PS。我假设通过“我有一个图像如下:”你的意思是,你有一个图像文件,并希望处理它,而不是你已经在python中生成该图形。如果您正在使用matplotlib之类的内容来首先生成它,则可以将其添加到那里。

如果您已在matplotlib中执行此操作,则该问题可能与matplotlib: add circle to plot

重复