Fixed phaseCorrelate result for not power of 2 size images #1812 (thanks to Jeff Mast)

This commit is contained in:
Andrey Kamaev 2012-05-18 08:33:19 +00:00
parent b8804ccc17
commit e309c51430
2 changed files with 3 additions and 3 deletions

View File

@ -556,7 +556,7 @@ cv::Point2d cv::phaseCorrelate(InputArray _src1, InputArray _src2, InputArray _w
t = weightedCentroid(C, peakLoc, Size(5, 5)); t = weightedCentroid(C, peakLoc, Size(5, 5));
// adjust shift relative to image center... // adjust shift relative to image center...
Point2d center((double)src1.cols / 2.0, (double)src1.rows / 2.0); Point2d center((double)padded1.cols / 2.0, (double)padded1.rows / 2.0);
return (center - t); return (center - t);
} }

View File

@ -63,8 +63,8 @@ void CV_PhaseCorrelatorTest::run( int )
{ {
ts->set_failed_test_info(cvtest::TS::OK); ts->set_failed_test_info(cvtest::TS::OK);
Mat r1 = Mat::ones(Size(128, 128), CV_64F); Mat r1 = Mat::ones(Size(129, 128), CV_64F);
Mat r2 = Mat::ones(Size(128, 128), CV_64F); Mat r2 = Mat::ones(Size(129, 128), CV_64F);
double expectedShiftX = -10.0; double expectedShiftX = -10.0;
double expectedShiftY = -20.0; double expectedShiftY = -20.0;