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

Вся активность

Этот поток обновляется автоматически     

  1. Yesterday
  2. Собственно сабж во вложении. Исходные условия: есть все необходимые стартовые знания по c, c++, знание основ обработки изображений, знаний многих фишек в OpenCV. Цель обучения с репетитором в том чтобы освоить это в три раза быстрей чем самостоятельно.
  3. Последняя неделя
  4. Датасеты в тему http://vc.ee.duth.gr/dibco2017/
  5. Это называется метрики, их не две, а намного больше самые популярные: 1) Евклидова метрика. 2) чем то напоминает дистанцию Хемминга, но там тоже сумма считается. https://ru.wikipedia.org/wiki/Расстояние_Хэмминга 3) https://ru.wikipedia.org/wiki/Расстояние_Махаланобиса 4) https://ru.wikipedia.org/wiki/Расстояние_городских_кварталов Опять же надо подбирать экспериментально.
  6. Дескрипторы можно сравнивать 2 способами: 1) находим погрешность каждого из дескрипторов, погрешности складываем и сравниваем с порогом. Возможно погрешности возводим в квадрат и суммируем. 2) сравниваем с порогом каждую погрешность и если один из дескрипторов превышает порог, то сравнения нет. Какой из двух способов верный?
  7. Ну размерность векторов это обычно предмет для экспериментального подбора. Вообще еще один метод есть, вычисляются собственные векторы и числа, и оставляют количество векторов, сумма собственных чисел которых равна, скажем 95% от всей суммы чисел. Смотрите PCA анализ.
  8. Спасибо, за ответ. Ссылку я уже видел ранее. Именно она вдохновила меня на распознавание шрифтов, но другим способом. В данной ссылке автор Pavel Torgashov применяет 30 элементарных векторов. Я считаю, что даже для шрифта это недостаточно и применяю 128. У меня всегда любой контур описывается 128 элементарными векторами (ЭВ). Соответственно эталоны так же описаны, как 128 ЭВ. В данном случае максимальное число дескрипторов Фурье может быть 128. Я хочу выбрать 8. Это 6,25%, достаточно ли это распознавания шрифта? Так же не понятно, как сравнивать дескрипторы, какую брать погрешность?
  9. Посмотрите здесь: Количество дескрипторов, задает насколько детально описывается фигура. Подрезание количества коэффициентов дает сглаживание контуров. Еще тут посмотрите: https://www.codeproject.com/Articles/196168/Contour-Analysis-for-Image-Recognition-in-C
  10. Мне предложили делать сравнение сигналов с эталонами не методом перебора, а с помощью дескрипторов Фурье. Дескрипторы сигналов я вычисляю быстро применяя табличные коэффициенты. Дескрипторы эталонов вычисляю заранее. Сколько необходимо дескрипторов и как их сравнивать на подобие?
  11. Спасибо, за подсказку!!! Буду смотреть.
  12. посмотрите в папке samples в исходника OpenCV, там много примеров на все случаи жизни.
  13. Здравствуйте. Сегодня я первый раз узнал про OpenCV и установил его (OpenCV + C++). Предусловие: есть одна картинка, в которой на белом фоне нарисована просто черная линия (прямая). В другой картинке, тоже на белом фоне, но прямоугольник. Нужно написать программу, которая будет это определять: на первой картинке - линию, на второй - прямоугольник. Может подскажите новичку, материал для изучения полегче, а то все, что нашел, не уровень новичка.
  14. Ранее
  15. Спасибо за подсказки!
  16. Морфологией можно например. См erode, dilate.
  17. У меня была почти такая же задача, только продолжить нужно было не контур, а печатные линии. Разрешил при помощи Хафа, где одним из параметров выступает maxLineGrap ( максимальный разрыв между двумя точками, которые должны рассматриваться в одной линии). RANSAC еще можно использовать. http://www.imagexd.org/tutorial/lessons/1_ransac.html
  18. Занимаюсь сравнением объектов методом контурного анализа. Получил 2 периодических последовательности данных, искомый объект и эталон (128 значений последовательности). Последовательность не зависит от местоположения, угла поворота и масштаба. Они отличаются только выбором начальной точки. Если делать сравнение методом перебора, нужно сравнить 128х128 значений. У меня ~3000 контуров в изображении и 200 эталонов. Может кто то знает более быстрый способ совмещения начальных точек или сравнения. График последовательностей на 36 точек представлен ниже, точки периодически повторяются:
  19. Добрый день! Допустим при поиске контуров на изображении нашелся контур, с разрывом в середине. Каким образом можно выполнить продление к следующему фрагменту?
  20. Одно видео внутрь другого

    CvMat* smallframe; судя по всему тут пусто.
  21. Одно видео внутрь другого

    Размер области 0 просто для примера. Можно подробнее про маленькое изображение?
  22. Одно видео внутрь другого

    эмм... насколько еще помню, надо создать маленькое изображение, ну или загрузить. И еще, почему область то нулевого размера ?
  23. Одно видео внутрь другого

    Попробовала сделать как говорили, после этого у меня при запуске виснет и все. Вот набросанный код: CvCapture* bigframe = cvCaptureFromCAM(0); Cvcapture* smallframe=cvCreateFileCapture("1.avi"); CvMat* display; CvMat* smallframe; cvNamedWindow("video", CV_WINDOW_AUTOSIZE); if(bigframe) { for(;;) { display=cvQueryFrame(bigframe); } cvSetImageROI(display,cRect(0,0,0,0)); cvCopy(smallframe,display,NULL); cvResetImageROI(display); cvShowImage("video", display); }
  24. Одно видео внутрь другого

    Хмммм, спасибо большое за ответ! Буду пробовать. Я думала, что он первый кадр только подхватывает, а не весь видеопоток. Я это представляю следующим образом, есть видео(frame) создаем элемент Mat и туда кидаем frame, как то так CvMat *display =(cvSize(1280, 480), frame). А дальше выделяя область интереса копировать туда видео
  25. Одно видео внутрь другого

    Так же как с картинками, считываете кадр из одного видео, из другого видео, вставляете как для изображений, записываете в результирующее видео, ну или отображаете кадр на экране, как обычно.
  26. Одно видео внутрь другого

    Картинку в картинку знаю как, с этим проблем нет. А вот с видео проблемно уже, мне нужно одно видео внутрь другого нужно вставить
  27. Одно видео внутрь другого

    Используйте пожалуйста с++ инерфейс OpenCV. Со старым сишным больше возни, и многие, включая меня, уже его основательно забыли. А картинку в картинку вставить просто. Задаете область куда вставить, imgA.copyTo(imgB(Rect(x,y,w,h))), (изображение должно иметь тот же размер и тип, как область изображения куда вставляем фрагмент) но это в новом интерфейсе.
  1. Загрузить больше активности
×