实现图像轮廓绘制的基本思想



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

我的想法正确吗?希望任何人都能给我一个关于如何实施它的基本想法。谢谢

您用相同颜色连接所有值的想法是行不通的,因为无法保证这些值是连接的。此外,例如,考虑两个相同颜色的像素在拐角处接触的情况:无法判断这些像素是连接的还是另一个对角线。

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

最新更新