Myx*_*Myx 11 matlab opencv image image-processing opticalflow
将军:我希望我要描述的用例是一个光流问题的简单案例,因为我对这个问题没有太多的了解,我想知道是否有人对我如何有任何建议可以解决我的问题.
我已经完成的研究:我已经开始阅读基于翘曲纸理论的高精度光流估计,并计划查看粒子视频论文.我找到了光流的MATLAB 高精度光流实现.然而,论文(和代码)似乎描述了非常复杂的概念,可能需要大量时间来深入挖掘和理解.我希望我的问题的解决方案可能更简单.
问题:我有一系列图像.图像描绘了材料破损过程,其中材料和背景是黑色的,裂缝是白色的.我有兴趣反过来遍历图像序列,试图将破损过程中形成的所有裂缝映射到第一个黑色图像.您可以将材料视为一个大型拼图,我试图将它们按照它们破坏的相反顺序重新组合在一起.
在每个图像中,可能会出现一些刚刚出现的裂缝和/或一些已完全形成的裂缝(从而形成碎片).在整个破损过程中,一些碎片可能会分离并进一步破碎.片段也可以彼此远离移动(后续帧之间的变化很小).
期望的输出:序列中的所有裂缝/线都映射到序列中的第一个图像.
附加说明:图像以灰度格式(即原始格式)以及二进制格式提供,其中裂缝以白色轮廓,背景为完全黑色.请参阅下面的一些图像示例.


顶行显示原始图像,底行显示二进制图像.正如您所看到的,随着图像序列的进展,沿着中间向下的裂缝变得越来越宽.因此,底部裂缝与下部裂缝一起移动.当反向遍历序列时,我希望通过算法实现中间裂缝合为一体(并将其正确映射到第一幅图像),并正确映射底部裂缝,保持其正确的对应关系(大小和位置)与底部片段.
一个序列通常包含大约30~40个图像,所以我刚刚显示了初始子集.此外,尽管这些图像没有显示,但是特定图像可能仅包含裂缝的开始(即其初始外观),并且在随后的图像中,它变得越来越长并且可能与其他裂缝结合.
语言:虽然没有必要,但我想使用MATLAB实现解决方案(因为大多数与项目相关的其他代码都是在MATLAB中完成的).但是,如果OpenCV可能更容易,我的语言/库使用灵活.
任何想法都非常感谢.
向前遍历而不是反向遍历,并且不使用光流。使用断裂线分割黑色部分,随着时间的推移跟踪每个黑色部分的质心。每当出现一条新的断裂线穿过黑色片段时,将该片段分成两部分并继续分别跟踪每个片段。
由此,您应该能够构建一个树结构,表示黑色部分随时间的分割。断裂线可以作为元数据添加到该树中,或许可以将断裂线分配给它们首次出现的段节点。
| 归档时间: |
|
| 查看次数: |
1899 次 |
| 最近记录: |