给定表示图像的矩阵X,每个像素X(i,j)具有向量Vij,其给出将像素X(i,j)与图像中的每个其他像素相关联的成本(我将实际使用它用于指定的小邻居但它不应该在算法上有所作为).
配对像素X(i,j)和X(k,p)的成本是将像素X(i,j)与X(k,p)相关联的组合成本和关联像素X(k,p)的成本像素X(i,j).注意,成本函数是对称的,即,关联X(i,j)与X(k,p)的成本等于将X(k,p)与X(i,j)相关联的成本.
目标是找到图像中每个像素的配对,使得每个像素是恰好一个配对的一部分,并且总成本被最小化/最大化.
2D空间局部性没有特殊意义,因此我们可以将X [i * w j]视为一维成本数组,并构建二维成本矩阵.鉴于对称性,我们只能考虑对角线上方矩阵的一半.然后我们寻找一组具有最小总和的点(行,列对).每行和每列只能使用一次. (包括C [a] [b]消除了行a中的所有条目,并且列b中的所有条目都不可能是解决方案集的其他成员.)
我想到的一种方法是将其视为流动问题,但在这种情况下,我不知道如何构建图形.
最佳答案 如果我正确理解了你的目标,你的问题基本上是在加权图中找到与最大/最小权重的完美匹配.
阅读链接:
> Matching
> Maximal matching
> Kolmogorov’s minimal matching algorithm