我的图像如下:
图像是在Python中生成的。我想进一步绘制图像顶部的曲线,该曲线包围白色区域。我已经获得了区域边界的像素索引。我在Matlab中知道,例如,它可以通过以下方式完成:
hold on
plot(x,y,'r-') %x and y are the indices of boundary pixels.
结果图像应该是这样的:
如何在Python中的图像上创建轮廓,而不是通过cv2.drawContours?任何人都可以帮我解决这个问题吗?
答案 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