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