Перейти к содержимому
Compvision.ru

Поиск по сайту

Showing results for tags 'image-processing'.



More search options

  • Search By Tags

    Введите теги через запятую.
  • Search By Author

Тип содержимого


Категории и разделы

  • Пакет OpenCV
    • OpenCV
    • Новости
    • Вопросы взаимодействия OpenCV + GDI, GDI+
  • Дополненная реальность (ARToolkit и др.)
    • ARToolkit
  • Нейросети
    • Вопросы по нейросетям и ИИ
  • Общие вопросы
    • Обсуждение общих вопросов
  • Другое

Найдено 1 результат

  1. Пытаюсь рассчитать поле направлений отпечатка пальца по этой статье, часть 2.2. Делаю для блока W=1x1, т.е. для каждого пикселя. По идее должно получиться что-то похожее на то, что изображено слева. Справа то, что выходит у меня. Где я что не учёл? Спасибо. void pix_orient(Mat &image) { int width = image.cols; int height = image.rows; float Gsy = 0.0, Gsx = 0.0; Mat grad_x, grad_y; Sobel(image, grad_x, CV_32F, 1, , 3, 1, , BORDER_DEFAULT); Sobel(image, grad_y, CV_32F, , 1, 3, 1, , BORDER_DEFAULT); for(int i = ; i < height; i++) { for(int j = ; j < width; j++) { Gsx = (grad_x.at<float>(i,j)*grad_x.at<float>(i,j)) - (grad_y.at<float>(i,j)*grad_y.at<float>(i,j)); Gsy = 2*grad_x.at<float>(i,j) * grad_y.at<float>(i,j); float fi = 0.0; fi = 0.5 * fastAtan2(Gsy, Gsx)*CV_PI/180; //[0;pi] //[-0.5*pi ; 0.5*pi] if(fi<=0) fi = fi + CV_PI/2; else fi = fi - CV_PI/2; image.at<float>(i,j) = fi; } }//for }
×