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

Pavia00

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

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

  • Посещение

  • Days Won

    15

Сообщения, опубликованные пользователем Pavia00


  1. Форматы видео есть разные. Но чаще всего для получения n-го кадра нужно декодировать кадр с номером n-1 и так далее до ключевого кадра. А если ключевых кадров всего 1 на весь файл. То мы имеем только 2 выхода. Декодировать весь видео в несжатый формат. Либо использовать запоминание предыдущих кадров.

    Иначе для получения произвольного нам придётся проходить по всему файлу, что очень сильно замедлит работу.

    Так что для вашей задачи лучше, а можно сказать и единственный верный/возможный способ - это запомнить кадр на предыдущем витке цикла.


  2. Судя по видео из 9 поста точек не много примерно 216х216, разрешение камеры 1,280H x 1,024V. Если верить другим материалам, то улавливает все или почти все точки.

    Или только на очень близких расстояниях?
    Размер комнаты обычно редко привешает 5-10 метров. Думаю дальше камера просто не уловит.

  3. Забыл ещё написать.

    http://openkinect.org/wiki/Hardware_info

    Если взять информацию от сюда заметь у ЧБ камеры матрица в 2 раза больше чем у цветной.

    О чем ниже написано, что чувствительность в люксах у неё тоже в 2 раза больше.

    Поэтому при выборе камеры надо обращать внимание на размер сенсора, а не число мегапикселей. (Думаю это все и так знают)

    • Like 1

  4. Чувствительность у неё при включении всех плюшек около 0.00001-0.0001 Лк

    АЦП работает обычно от опорного напряжения. Опорное напряжение обычно определяется как результат усреднения. В камере за это отвечает B\W (авто баланс белого) возможно есть ещё и другие настройки, как то чувствительность.

    Камера должна работать с максимальным усилением. Заставить работать камеру можно. Для этого перед ней надо поставить узкополосным фильтр. У нас лазер работает на одной частоте поэтому тут узкополосный фильтр в самый раз.Отсеяв лишние помехи самый светлый участок у нас будет на лазаре. Камера его будет принимать за максимум(при включенном автобалансе B\W).

    Обратите внимание на переднюю панель 3 оптических окна. Но одно из них не прозрачное синего цвета.

    Непрозрачность как раз и намекает на то что, фильтер достаточно узкополосный. А то что окно синего цвета говорит что частоты в синем диапазоне он хорошо отражает, а вот красный(инфрокрасный) напротив пропускает.

    Второй способ повышения чувствительности это увеличить выдержку.

    видит примерно как дешёвые тепловизоры (но смазывается движение). А это очень хороший показатель.

    Увеличение выдержки и приводит к смазыванию. Если выдержка не работает аппаратно, то её можно сделать программно усреднив кадры и подняв гамму(яркость/контрастность, но гамма мне больше нравится)

    У ЧБ матриц шум меньше, поэтому они более чувствительны. Хотя и не намного.


  5. Думаю, такую сеточку легко сделать дома из CD-R или DVD-R диска. Записываем на диск удаляем верхний слой, думаю серной кислотой.

    "Дырочки" у DVD имеют размер 0.750 мкм.

    DVD он многослойный там отражающий слой записывающий слой защитный слой.

    Методику нужно проработать.


  6. И, кстати, кто-нибудь знает, зачем к ИК-лазеру из Кинекта целый шлейф идёт? Какое-то управление, а не просто "включить/выключить"?

    Не понял вы о чём? Судя по фоту, там стоит ИК диод и камера ч/Б, перед камерой стоит ИК фильтер(голубая плёночка).

    К камере идёт шлейф. Есть ряд ограничений на АЦП, который и застоявляют его сделать параллельным.

    Плюс на фото, плохо видно, но скорее всего камеры с программной фокусировкой.

    Сетчатые дырочки получаются светофильтром. Судя по фоту размер 1 на 1 милиметр. Скорее всего получено химической обработкой, травлением. Думаю что процесс получения микродырочек достаточно известный и не сложный. Вопрос только в материалах с рассчитанных на ИК диапазон.


  7. Может я велосипед изобретаю?

    Это зависит от того что вы хотите получить. Но в нашей жизни изобретено очень многое. И сделать открытия очень трудно.

    В принципе стереоэффект есть, но теряются цвета и чёткость.

    Известный факт.


  8. Язык, как раз очень при чём. Дело в том, что на циклах как раз и проявляется тормознуть языка. Интерпритируемые языках тормазили бы жутко, если бы не замена циклов на функции из библиотек, в которых эти функции оптимизированны. В результате тормоза языка а вернее компилятора/интерпретатора будут не всегда заметны.

    Не очень понял о коком алгоритме идёт речь. Но для поиска контрастных пикселей требуется 4 прохода по изображению. Все проходы простые. Ориентировочно скорость 50 мс.

    Исходное изображение в градациях серого. Находим 2 вспомогательных изображения первое сглаженное. Второе возводим в квадрат и сглаженное. И четвёртый проход нужен чтобы посчитать дисперсию и сравнить с некоторым порогом. Дисперсия получается путём вычитания из второго первое. Там где дисперсия большая там контрастность большая


  9. Метрика работает правильно. А вот применение не правильное. Все эти три изображения для данной метрики будут похожи так как все они содержат одинаковые цвета.

    Суть этой метрики в том чтобы найти минимальное отличие и выбрать из них максимальное. Данная метрика будет хорошо работать если сравнивать не цвета, а к примеру найти границу посчитать расстояние границы до центра изображения и тогда уже сравнивать.

    • Like 1

  10. В линуксе много интерфейсов(API) для доступа к камере и звуку.

    Через как кой интерфейс(API) хотите работать?

    В первой ссылке описывается через FFMpeg, скайп работает без этой библиотеки.

    Поэтому надо корректно поставить FFMpeg(скачиваешь иходники и запускаешь make на компиляцию и установку), а потом еще и OpenCV проверить чтобы там был выбран в качестве источника FFMpeg.

    На неделе попробую сам поставить отпишусь.


  11. LosFrom2D, есть ГОСТ скопированный с ISO. Идентификация по расстоянию можно только при условии что расстояние между глазами не менее 180 пикселей, Менее можно но качество будет падать.

    3 параметра нос глаза рот. Сколько градаций вы получите? Допустим максимум 4 минимум 2. От 2^3=8 до 4^3=64. Таким методом вы сможете отличить очень малое число людей, на 20 может не хватить. Для увеличения качества системы используют другие параметры. Цвет волос, цвет глаз, форму головы итд.

    http://protect.gost.ru/v.aspx?control=8&baseC=-1&page=0&month=-1&year=-1&search=&RegNum=1&DocOnPageCount=15&id=120745&pageK=7B46BC9C-241A-48FE-BDF1-06DB1ECBA18C

    • Like 2

  12. Световой фильтр. Отсекает определённые частоты, но в изображении такая информация практически отсутствует. У нас есть только 3 канала.

    Могу предложить 2 способа.

    Ещё немного теории. Фильтр обычно не пропускает одни частоты и пропускает другие. Идеальных фильтры в природе редкость. Поэтому на самом деле одни частоты проходят без изменения амплитуд, а другие с меньшей амплитудой. Частоты между плавно снижается амплитуду.

    Не помню точно терминологию Но допустим красный фильтр не пропускает частоты красного. (Если путаю то пропускает только красный часоты.

    1.Способ первый. Эмитацию разложения на частоты можно получить используя HSV представления цвета, где H цвет. Вот H и определяет частоты. и фильтруй по составляющей H.

    2. Способ использовать 3 канала. Уменьшая амплитуду по одной, двум, трём компонентам в зависимости от фильтера.

    • Like 1

  13. По поводу distanceTransform.

    Можно считать 2 способами быстро и точно.

    Быстрый метод будет аналогично сглаживанию.

    А точный съест время. А артефакты будут аналогичными(в точный центр ты не попадёшь) хотя результат немного и будут отличаться(возможно немного точнее).


  14. Сглаживание нужно, чтобы выделить однородные области и избавиться от шума. оноже регулирует что считать локальным максимумом, а что нет.

    Тогда все максимумы будут находиться именно в области засветки.

    Не будут. Мы ищем локальные максимумы, а не глобальные.

    N_local_out.png

    Единственный минус если область не просто однородна(монотонная), но и имеет одно значение(const). То да алгоритм выберет одинаковы точку(при условии >=). Но тут можно опять таки доработать поиск центра тяжести.

    N_local_out1.png

    Картинку лучше рассматривать под увеличением всего 25 точек несколько лишних видимо из-за сжатия исходного.


  15. Найти максимумы не трудно. Странно что в OpenCv я не нашёл функции.

    Сглаживаем картинку подойдёт любой алгоритм. Можно сделать через функцию Smooth правда не знаю доделали её для произвольного радиуса(апертуры) или нет.

    Затем поиск локального максимума. Локальный максимум считаеться пиксель больше соседних.

    После сглаживания достаточно проверить 4 соседних пикселя(левый, правый, верхний, нижний).

    Дальше по желанию можно отсортировать и взять N самых больших максимумов.


  16. Сначала реализую на макетке (веб-камера и штатив).

    С вашими размерами не плохо превратить камеру в микроскоп. Если веб-камера с ручным фокусом то линза аккуратно свинчивается разворачивается тыльной стороной и крепится скотчем.

    • Like 1

  17. Я бы вместо камеры взял бы фотоаппорат, за N тысяч руб. с нормальной оптикой. И функцией съемки с компьютера.

    Есть камеры с функцией фотосъёмки(бывают потделки, которые просто программно интерполируют картинку).

    Камера работает в потоковом режиме это значит что оно постоянно делает много снимков. Пока в вашей постановки это не требуется.

    А вот канал передачи данных камера-компьютер имеет ограничения поэтому 1МПиксель на 10 кадров имеем 100 Мбит/с, а то и все 300 МБит/с. В виду этого ограничения камер с разрешением более FullHD (1920х1080)не встретить. А ещё разработчики видео камер любят сжимается видео прямо на камере и уже потом передавать потребителю. Сжатие может привести к потере разрешающей способности до 8 раз по горизонтали и 8 по вертикали.

    Фотоаапорат не требует большого числа кадров, поэму его разрешающая способность раз в 10 больше.

    В кадре должно помещаться от 10-30 щелей. Объект должен занимать 30-90% ширины кадра. Щель должна занимать не менее 20 пикселей.

    Такая обработка требует около 1000 пикселей по ширене.

    Точность измерений определяется количеством пикселей и не чем иным. Усреднение конечно улучшает результат измерения. Но сильно полагаться на него не стоит.

    Ошибка 0.05мм/5мм=0.01 другими словами щель должна быть 1/0.01=100 пикселей 1 пиксель на фото должен соответствовать 0.05 мм. С такими размерами над оптикой надо подумать либо отказаться вовсе от неё.

    Кстати, а какие функции OpenCV могут выделить светлый\темный участки и посчитать количество пикселей?

    Пожалуй это самое трудное.

    Выделить можно по порогу, либо воспользоваться адаптивной бинаризацией. Еще можно будет поиграться с гистограммами.

    Поиск хорошего участка для обработки можно сделать так.

    Выбираешь случайные линии и оцениваешь наличие периодической структуры.

    Подсчёт пикселей можно сделать ручками.

    http://locv.ru/wiki/3.6_Доступ_к_данным_изображения

    http://locv.ru/wiki/9.1.3_Пиксельные_сегменты

    • Like 1
×