用dft粗略估计质心

时间:2014-09-29 14:36:49

标签: c++ opencv fft dft fourier-descriptors

我想要质心的坐标,我已经计算了DFT(用于不同的目的)。我已经看到一些幻灯片暗示了通过查看矩阵的第一个值来粗略估计质心的可能性。 该代码基于:http://docs.opencv.org/doc/tutorials/core/discrete_fourier_transform/discrete_fourier_transform.html

cv::dft(complexI, complexI);
// compute the magnitude and switch to logarithmic scale
// => log(1 + sqrt(Re(DFT(I))^2 + Im(DFT(I))^2))
cv::split(complexI, planes); // planes[0] = Re(DFT(I), planes[1] = Im(DFT(I))
double x = (double)planes[0].at<int>(0,0)/INT_MAX;
double y = ABS(((double)planes[1].at<int>(0,0)/INT_MAX));

但每次y值变为0.但x值似乎正确。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

这通常使用moments完成。