Я пишу OpenCV на С++, который использует OpenCV, который захватывает кадры с нескольких видеоустройств, выполняет на них серию преобразований, а затем создает новый кадр для отображения (в форме IplImage). Это все работает отлично.
Затем я хочу создать экземпляр фильтра источника захвата и отправить ему эти кадры, чтобы создать виртуальное видеоустройство, которое можно использовать с такими программами, как Skype. Вот тут у меня проблемы.
Я взглянул на образец видеокамеры Вивека (исходный фильтр захвата из здесь), который кажется быть идеальным, но я изо всех сил пытаюсь понять, как изменить его для использования в моем приложении:
Vcam заполняет буфер случайными значениями, а я хочу заполнить его данными из моего фрейма.
Vcam создает файл DLL, который необходимо зарегистрировать перед созданием фильтра, но я хочу создать фильтр при запуске моего приложения, а затем удалить его, когда он завершится.
Я совершенно новичок в DirectShow и программирую на C++ всего несколько месяцев, так что я в этом не разбираюсь. Может ли кто-нибудь наметить шаги, которые мне нужно предпринять, чтобы реализовать два вышеуказанных изменения?
Спасибо, Фил