Я работаю над обнаружением угловых функций с помощью детектора harris. Я написал программу функции определения в изображении в MATLAB, используя следующий код функции определения ХаррисаСвязь между результатами детектирования harris в matlab и opencv
corners = detectHarrisFeatures(img, 'MinQuality', 0.0001);
S = corners.selectStrongest(100);
я передать всю программу из MATLAB для OpenCV
Я использовал следующий код для обнаружения Харриса точки
int thresh = 70;
for(int j = 0; j < dst_norm.rows && cont < 100; j++)
{
for(int i = 0; i < dst_norm.cols && cont < 100; i++)
{
if((int) dst_norm.at<float>(j, i) > thresh)
{
S.at<int>(cont, 0) = i;
S.at<int>(cont, 1) = j;
I.at<int>(cont, 0) = i;
I.at<int>(cont, 1) = j;
cont = cont + 1;
}
}
}
извлеченная область была различной в обеих программах, и я обнаружил, что Харрис обнаружил угловые точки в матлабе не так, как Харрис обнаружил угловые точки в opencv.
Как сделать обнаруженные угловые точки из обеих программ одинаковыми?
как я могу найти локальные максимумы точек в opencv ??????? / –