вычисление евклидова расстояния для значений Luv между 2 пикселями

В opencv c ++ я пытаюсь выяснить, как вычислить евклидово расстояние между точками i, j и всеми точками в ядре 3×3. Это делается для создания контрастной карты значимости из цветового пространства Luv. Я также попробовал функцию нормы безрезультатно. Я очень смущен тем, как решить эту проблему, и был бы признателен за некоторые отзывы.

  Mat tmp1 = MeanShift_Luv.clone();

int big_theta = 3; // kernel size / neighborhood to perform convolution on

Mat gradient_1 = Mat::zeros(tmp1.rows, tmp1.cols, CV_64FC3);
for (int i = 0; i < tmp1.rows; i++){
for (int j = 0; j < tmp1.cols; j++){
double dist = 0;
for (int m = -big_theta / 2; m < big_theta / 2; m++){

for(int n = -big_theta /2; n < big_theta / 2; n++){
if (m == 0 || n == 0) continue;
if (i + m < 0 || i + m >= tmp1.rows) continue;
if (j + n < 0 || j + n >= tmp1.cols) continue;

/* unsure what to do at this part
Point a(i,j);
Point b(i+m, j+n);
*/
}
}
gradient_1.at<Vec3d>(i,j) = dist;
}

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector