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

Pavia00

Пользователи
  • Количество публикаций

    91
  • Зарегистрирован

  • Посещение

  • Days Won

    14

Pavia00 last won the day on September 16 2017

Pavia00 had the most liked content!

Репутация

25 Эксперт

О Pavia00

  • Звание
    Эксперт
  1. idrua, "человек" - там отлично виден. Чётко видны: глаза, нос, рот - но это обычные jpeg артефакты. Взять траву или песок и там найдётся куча таких же литц. Конечно тут видны руки и шея. Но самом деле это известная фотография, одной фирмы по OCR, с демонстрацией бликов. - человек тут отсутствует. Мы не видим водителя значит и пассажира видеть не должны, следовательно это блик.
  2. На фото Вольво XC90. Россия
  3. Я бы классификатор на тренировал.
  4. Одназначно надо. Дисторсия она всегда большая. Да и углы тоже уплывут из-за афинных преобразований. Не говоря про перспективу. В opencv заложенно решение только для шахмотной доски.
  5. Железо. orange pi pc - оптимизированы для снежения энергопотребления. Поэтому скорости от них ждать не стоит. Что касается 64-битных процессоров то при одинаковой частоте они в 2 раза медленее по умножению. В среднеем по остальным командам на 30-50% медлее чем 32 бита. Вот если бы вы использовали криптографию тогда выигрышь возможен. Fpga сравнимый с pi вам обойдётся в 10 раз дорожи 150-300$. Dsp - как правило заточены под радио и звук. В таких платах просто нехватает памяти и производительности. Нужны специальные видеопроцессоры. А они как правило очень дорогие. Есть ещё процессоры для видеорегистраторов. 4 раз быстрее чем CPU - pi. Одна беда close hardware. Через несколько лет возможно появятся как открытые. Так что после pi берём дешовый комп i3 за 250-300 баксов. И если надо то видеокарту. Или б/у ноутбук, комп можно сэкономить. Код. Вам однозначно надо оптимизировать. Расчёт углов это медленная операция. А вот прр GPU - отпишитесь как удалось завести его или нет?
  6. Почитайте как правильно задавать вопросы. http://www.rsdn.org/Info/howtoask.xml Так как из вашего описания непонятно, что вы хотите? Какую задачу хотите решить? Поэтому и непонятно что отвечать. Вместо описания того, что вы делали вы должны были сказать, что вы хотите получить. Что касается разделения. То есть такая вещь как кляксы Blobs и контуры Conturs. Есть структуры, вернее классы которые их описывают. К примеру контуры описывают цепным кодом. А для клякс обычно матрица закрашенная номером кляксы. Вот используя такие алгоритмы, которые по вашим данным построят эти структуры и по ним вы можете определить моменты и/или координаты своих объектов. А когда найдёте координаты своих объектов далее уже определяйте к какому классу фигур(объектов, изображений) они относятся. Распознавание решается перебором и только перебором. Другое дело что есть ряд оптимизаций: пропуск белых пикселей, пирамида изображений с переходом на более высокий уровень, работа только там где есть особые точки (углы, контуры и др). ещё есть каскады и куча других методов для ускорения перебора.
  7. FPGA это не паноцея. 66 умножителей конечно много, но частота маленькая. Да и задействовать их непросто. По сравнению с DSP процессорами. При тойже цене, FPGA раза в 4 быстрее. Но сейчас взять что-то подороже непроблема.
  8. Проекция --> в 3D

    Обратное преобразование к проекции не имеет однозначного отображения. А если зафиксировать Z. То мы получим аффинное(матричное) преобразование.
  9. Аналог ф-ии bwareaopen MatLab

    Так как IplImage унаследован от Mat то можете смела его использовать как матрицу. Прямое и обратное преобразование будет происходить автомотически. Чтобы явно написать можно сделать так. //Преобразование из IplImage в CvMat, без копирования данных. CvMat cvmat = image; // convert cv::Mat -> CvMat Что касается обратного, то тогда если используете явное преобразование, то надо будет приляпать заголовок. IplImage stub, *dst_img; dst_img = cvGetImage(src_mat, &stub);
  10. Аналог ф-ии bwareaopen MatLab

    Разница в семантике. 1) Для того что-бы другие люди могли вас правильно понимать вы должны осмысленно давать имена переменным, классам. 2) Разделяй и властвуй. Для архитектуры важно разграничивать разные блоки. Так вот есть два различных понятия матрица и изображения. Матрица это математическое понятие и к графике оно не имеет отношения. Но над матрицами определены операции сложения умножения, собственные вектора и тд. Над изображением определены другие операций перевод в градации серого, оператор границ. Правильнее использовать IplImage*Image=cvLoadImage("70.jpg"); cvShowImage("input", image); А если нужно сделать вычитание или сложение, то переводишь в матрицу cv::Mat mat Это культура программирования. И она важна, когда над проектом работает много людей.
  11. Свертка (convolution)

    http://ru.wikipedia.org/wiki/Алгоритм Советую прочитать формальное определение алгоритма. Да, это разные понятия. В математическом смысле функция она шире оператора. Что касается не математического, то не знаю. Если верить википедии, то не любой. Но большинство будут исчислимы. Я бы не сказал что из функции получают ядро. Её просто используют как ядро.
  12. Если взять среднее из 5 и 7 то должна получиться хорошая картинка.
  13. Kinect и карта глубины

    Если нужно среднее так и считай его. cvAvgSdv Если нужно среднее для многих точек то достаточно сделать размытие cv::blur Это быстрее чем интегральное изображение.
  14. Обработка сканов книг

    Есть хорошо известные правила ведения проектов. В том числе и научных. Обычно начинают с поиска аналогов. А вообще по обработке книг очень хорошей сайт. http://www.djvu-soft.narod.ru/ Там найдёте и программы для обзора и методы и и даже часть реализаций. А возможно вам даже не придётся писать и вы возьмёте одну из существующих программ.
  15. Обработка видео

    По поводу скачков освещённости, надо усреднить во временной области. Я бы ещё попробовал выравнивать освещённость, считаем средниее а затем выитаем из картинки. Плюс я ещё заметил градиент освещённости от центра так, что порог лучше брать локально-адаптивный.
×