0

重心の座標が欲しいのですが、すでに 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 の値は正しいように見えます。何か不足していますか?

4

1 に答える 1