Parallelogramus 0 Жалоба Опубликовано April 24, 2010 Здраствуйте! Нужно собрать компьютер для анализа видеопотока в реальном времени. Хотелось бы узнать, какая минимальная конфигурация для этого требуется? Ибо на оффсайте про это ничего не написано. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Vitek 0 Жалоба Опубликовано April 24, 2010 Это очень сильно зависит от самой системы, насколько она требовательна. Так может хватить как старенького пенька, так может и не хватить самого современного многоядерного компьютера. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
XoXol_89 3 Жалоба Опубликовано April 24, 2010 смотря какие задачи вы собираетесь решать...и какими методами Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Parallelogramus 0 Жалоба Опубликовано April 26, 2010 Про систему не совсем понял. Задача на первый взгляд тривиальная: есть чёрная (зашумлённая) картинка, на ней могут появляться яркие белые пятна. Надо определять их координаты. Кстати, буду очень признателен, если подскажете, как её решить. HoughCircles не помогают даже с правильным круглым пятном, поиск контуров тоже, видимо, из-за того что края размыты и есть шум. Я прям в тупик зашёл. UPD. Насчёт конфигурации. Поставим вопрос немного иначе: про старый пенёк всё ясно, а если из продающегося сейчас железа собрать что-нибудь посредственное или середнячка, этого хватит с запасом?) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано April 26, 2010 Про систему не совсем понял. Задача на первый взгляд тривиальная: есть чёрная (зашумлённая) картинка, на ней могут появляться яркие белые пятна. Надо определять их координаты. Кстати, буду очень признателен, если подскажете, как её решить. HoughCircles не помогают даже с правильным круглым пятном, поиск контуров тоже, видимо, из-за того что края размыты и есть шум. Я прям в тупик зашёл. UPD. Насчёт конфигурации. Поставим вопрос немного иначе: про старый пенёк всё ясно, а если из продающегося сейчас железа собрать что-нибудь посредственное или середнячка, этого хватит с запасом?) От шума можно почистить так: 1) размыть картинку 2) шум будет иметь меньшую яркость чем сплошное белое пятно. 3) бинаризация по порогу, отсеивающему шум. 4) Определяем контуры Конфигурации среднего компа должно хватить. У меня AMD Athlon 64х2 5000 (как он точно записывается не помню), покупал давно, большинство приложений, включая детектор хаара идут не меньше 15 кадров в секунду, а большинство реалтайм. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Parallelogramus 0 Жалоба Опубликовано April 26, 2010 Спасибо, уже пробую) UPD.Отлично, получил белое пятнышко на чёрном фоне. А можно ли без контуров обойтись, а как-нибудь пошустрее? Например, как можно вытащить координаты всех белых точек из изображения? Точнее, как получить значение яркости пикселя определённой координаты в одноканальном IplImage?) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано April 26, 2010 img->imageData[x + y * img->widthStep] Можно реализовать простую сегментацию на основе связности (восьми- или четырёхсвязности). Я, правда, не в курсе, есть ли она в OpenCV. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Parallelogramus 0 Жалоба Опубликовано April 26, 2010 img->imageData[x + y * img->widthStep] брр, что-то я запутался, как из этого значение цвета (0-255) получить Тип этой штуковины почему-то char* Если присвоить вот этот символ переменной типа int, получаю "0" для черных и "-1" для белых пикселей. Вроде совпадает, но как-то некрасиво получается Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано April 26, 2010 брр, что-то я запутался, как из этого значение цвета (0-255) получить Тип этой штуковины почему-то char* Если присвоить вот этот символ переменной типа int, получаю "0" для черных и "-1" для белых пикселей. Вроде совпадает, но как-то некрасиво получается -1 = 255 для unsigned char Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Parallelogramus 0 Жалоба Опубликовано April 26, 2010 Как всё просто) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано April 27, 2010 брр, что-то я запутался, как из этого значение цвета (0-255) получить Тип этой штуковины почему-то char* Если присвоить вот этот символ переменной типа int, получаю "0" для черных и "-1" для белых пикселей. Вроде совпадает, но как-то некрасиво получается Обычно сначала делают приведение к unsigned char:unsigned char *img_data = (unsigned char *)img->imageData; //А после уже img_data[x + y * img->widthStep] Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
egens 0 Жалоба Опубликовано April 27, 2010 а не проще ли, если необходимо определять лишь координаты пятна, всего лишь найти его центр тяжести по маске? обратите внимание на функцию cvMoments Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах