Как перевести цвет из RGBxx в RGB24
Захватываю с помощью функций семейства capCreateCaptureWindow
GetPixelFormat, не дает никакого результата, возвращает ноль, а GetLastError возвращает что все ОК.
Итого, каким образом можно узнать формат пикселя камеры и перевести его в RGB24 ?
Можешь написать свой DirectShow фильтр который будет конвертить в любой цветовой формат пиксела.
Либо используй готовые фильтры к примеру Color Space Convertor, Color Convertor, ...
Если используешь ПО написанное ранее то смотри где нибудь опции принудительной подгрузки DS фильтров и подгружай те которые занимаются конвертацией если же конечно нет настроек в ПО устанавливающие итоговый формат пиксела.
В поставке DX sdk + DirectShow или KLate Mega Codec Pack идет утилита GraphEdit которая позволяет каптить, проигрывать, писать видео аудио в различных форматах. можешь ручками конфигурить практически все что предоставляют так называемые кодеки также добовлять другие кодеки в процес удалять существующие и т.д и т.п. возьми поиграйся:)
если будут вопросы по данному материалу обращайся
Цитата:
Захватываю с помощью функций семейства capCreateCaptureWindow
GetPixelFormat, не дает никакого результата, возвращает ноль, а GetLastError возвращает что все ОК.
Мой тебе совет Используй DirectShow для этих целей:)
Цитата: Zushenskiy
Опс звиняй не увидел вот этого
Мой тебе совет Используй DirectShow для этих целей:)
Мой тебе совет Используй DirectShow для этих целей:)
Возможно так и будет. Но сейчас уже все сделано для работы с 24битным изображением (по 8 бит на цвет).
Итого проблема остается актуальной.
Цитата: Matush
Захватываю с помощью функций семейства capCreateCaptureWindow
Можно ли этой функцией делать захват изображения размером больше, чем 320*280? Что для этого надо доустановить или настроить? Пробовал под win2000 и XP.
Цитата: sashakz91
Можно ли этой функцией делать захват изображения размером больше, чем 320*280? Что для этого надо доустановить или настроить? Пробовал под win2000 и XP.
Можно. Смотри функцию capSetVideoFormat.