0

我一直在使用matplotlib.pyplot.contour绘制图像的轮廓,我想知道如何实现轮廓绘制,但我发现代码pyplot.contour对我来说很难理解。我有这样的想法,对于灰度图像,每个像素都有一个强度值,为了绘制它的轮廓,我可能会选择一组强度值,比如将范围划分[min-intensity-value, max-intensity-value]为 10 个段[min-intensity-value, val0, val1,..., val8, max-intensity-value],然后为每个段的边界强度值(如val0, val1,...,val8) ,找出所有具有相同强度值的像素,我认为这些像素将形成轮廓线。

我的想法是正确的方法吗?希望任何人都可以给我一个关于如何实现它的基本想法。谢谢。

4

1 回答 1

1

你用相同颜色连接所有值的想法是行不通的,因为不能保证它们是连接的。此外,考虑例如两个相同颜色的像素在拐角处接触的情况:没有办法说它们是连接的还是例如另一个对角线。

我相信这个问题基本上是你想要达到的目标。如果您只想对图像进行矢量化,则有现有的工具可以做到这一点,例如POtrace。如果你需要一些特殊的东西或有特殊的输入数据,那么当你告诉人们这件事时,你会得到更好的结果。在那种情况下,我还要花一两个小时从他们的网站上查找关于 POtrace 算法的非常好的描述,也许你可以从中借鉴一些好的想法?

于 2013-06-30T13:50:56.347 回答