3D图形切割前的形状

时间:2015-08-28 07:35:20

标签: c++ graph 3d shape

我正在应用基于Yuri Boykov在C ++中的实现的3D图形切割,itk和最小切割/最大流量的增强。首先,我提供一些前景和背景种子。然后我创建图形并使用3D邻域(边界项)将权重分配给边缘:

weight=vcl_exp(-vcl_pow(pixelDifference,2)/(2.0*sigma*sigma)), 
sigma是一种噪音功能。

然后我根据强度概率直方图(区域术语)分配源/宿边缘:

   this->Graph->add_tweights(nodeIterator.Get(),
  -this->Lambda*log(sinkHistogramValue),
  -this->Lambda*log(sourceHistogramValue)); 

所以能量函数是E= regional term+boundary term。然后,切换是通过Boycov的实现来计算的,但我不确切地知道如何。无论如何,现在我想在切割之前添加一个形状,但我不知道如何做到这一点。

  • 我是否需要改变边缘的重量?
  • 我是否必须创造另一种能量功能?如果是这样,怎么样?
  • 我怎样才能为mincut / max flow算法提供这两种功能?

希望我的问题很容易理解。

非常感谢,

凯伦

0 个答案:

没有答案