Вопрос № 110042: Задача: После запуска WindowsMediaPlayer необходимо с заданным интервалом времени считывать кадр видео и обработать своей программой, в частности, подсчитать число пикселей определенного цвета в кадре, а затем суммировать число пикселей по всему виде...
Вопрос № 110.042
Задача: После запуска WindowsMediaPlayer необходимо с заданным интервалом времени считывать кадр видео и обработать своей программой, в частности, подсчитать число пикселей определенного цвета в кадре, а затем суммировать число пикселей по всему видеофильму.
Не знаю как решить задачу доступа к растру.
Знаю только, как работает FindWindow.
Какова далжна быть последовательность операторов WinAPI, чтобы попиксельно обработать полученный кадр ?
Отправлен: 18.11.2007, 20:18
Вопрос задал: Kbp2005
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PavelGM
Здравствуйте, !
Для того чтобы понять как работает mediaplayer вам стоит почитать на тему фильтров DirectShow. После чего вы обнаружите, что существует масса способов вывода на экран (способов работы рендерера - GDI, Overlay, DDBlt, VMR), и чтобы написать универсальный получатель кадров, придется писать свой фильтр DirectShow, который будет вклиниваться между декодером и рендерером и выдавать вам кадры (в принципе в микрософтовском SDK были заготовки на эту тему).
FindWindow может помочь только в случае, если вы заблокируете в проигрывателе все способы вывода кроме GDI (все начнет изрядно тормозить, зато можно будет делать обратный блитттинг (BitBlt) с Primary поверхности(экрана) в память).
Ответ отправил: PavelGM (статус: Студент)
Ответ отправлен: 19.11.2007, 10:35