我本质上是在一组2D数据上做一些边缘查找。我希望能够在眼图上找到几个点(通常用于鉴定高速通信系统),由于我没有图像处理的经验,我正在努力编写有效的方法。
正如你可能看到的,这些图表之所以叫这个名字,是因为它们看起来像人眼。它们可以在厚度、斜率和噪声方面有很大的变化,这取决于信号和被测系统。你知道我该怎么用Python来做这件事吗?我已经在使用NumPy来做一些处理了。
这是一些example data,它被格式化为带有相关x轴数据的一维数组。对于这个特定的示例,它应该每666个点(2 * int((1.0 / 2.5e9) / 1.2e-12))拆分,因为信号的速率是2.5 GB/s,点之间的时间是1.2ps。
谢谢!


发布于 2011-08-17 07:06:21
你有没有尝试过OpenCV (开放式计算机视觉)?它被广泛使用,并且有一个Python绑定。
我不想成为一个皮塔,但是你确定你不会更好地使用数值方法吗?我所见过的用于眼图分析的所有工具都是数字路线;我还没有看到一个能够分析图像本身的工具。
您说您的算法在该数据集上非常慢--我的下一个问题将是为什么。您是否正在查看过采样的数据集?(我猜你是。)如果是这样的话,你有没有尝试过先抽取信号?这至少会给你的算法提供更少的样本。
发布于 2011-08-17 08:45:27
只是沿着你的路线走一段时间,如果你把这些图像读入内存,它不是很容易做两个泛洪填充(开始的中心和左边缘的中间),包括所有的“白色”数据。如果填充例程记录了每列的最大和最小高度,以及最大水平范围,那么您就拥有了所需的一切。
换句话说,我认为你想得太多了。当边缘不清楚时,边缘检测用于复杂的“自然”场景。在这里,你的边缘是如此的明显,你不需要增强它们。
https://stackoverflow.com/questions/7084339
复制相似问题