【发布时间】:2012-11-17 09:07:23
【问题描述】:
我用 MatplotLib 获得了这个轮廓:
现在,我想将它用作普通的 Python 图像(PIL 或数组),因为我想将它应用为掩码(通过 OpenCV 获得)。
问题是使用MatplotLib,带有轮廓的图像被调整大小,并添加了一个边距(对于轴,即使我不画轴),所以我从MatplotLib的图中获得的图像不适合使用 OpenCV 获得的掩码。
我尝试使用 OpenCV 获得相同的轮廓,但我没有使用 cv2.FindContours 和 cv2.DrawContours 函数获得任何结果(如果你知道如何做到这一点,请告诉我......在这个previous topic你可以看到原图和我想要的轮廓)
另一种可能的解决方案是将使用 MatplotLib 获得的轮廓转换为与原始大小相同且没有边距的图像(PIL 或数组)。
我希望您至少可以通过其中一种解决方案帮助我!
--------------------------- 编辑 ------------------- --------
Rutger Kassies 的回答是正确的。它对我不起作用,因为我写了这行......
ax = plt.axes([0, 0, 1, 1], frame_on=False, xticks=[], yticks=[])
... 使用轮廓函数后,必须在使用轮廓函数之前。请记住这一点!
【问题讨论】:
标签: python image-processing opencv matplotlib contour