我想要质心的坐标,并且我已经计算了 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 值似乎是正确的。我错过了什么吗?