Предварительный просмотр с камеры компьютера зеркален по вертикали
От: Melamed Россия  
Дата: 04.10.22 11:57
Оценка:
Я написал программу, которая захватывает изображение с видеокамеры и выводит его на экран компьютера. Все вроде получилось, но изображение выводится на экран компьютера зеркально по вертикали.
Захват камеры и вывод изображения осуществляется средствами DirectShown.
Как я понимаю, необходим еще один фильтр включить в DirectShow граф. Но я слаб в написании DirectShow фильтров, поэтому спрашиваю можно ли воспользоваться готовым фильтром для исправления этого недостатка или где найти подробную информацию с примерами, как писать подобные DirectShow фильтры. (последнее — желательнее)

Проект пишется в среде MVS 2015 C++ WIN API без использования технологии NET
Re: Предварительный просмотр с камеры компьютера зеркален по
От: DiPaolo Россия  
Дата: 04.10.22 14:40
Оценка:
Попробуйте поставить высоту (biHeight) в отрицательное значение.

biHeight

Specifies the height of the bitmap, in pixels.

For uncompressed RGB bitmaps, if biHeight is positive, the bitmap is a bottom-up DIB with the origin at the lower left corner. If biHeight is negative, the bitmap is a top-down DIB with the origin at the upper left corner.

For YUV bitmaps, the bitmap is always top-down, regardless of the sign of biHeight. Decoders should offer YUV formats with positive biHeight, but for backward compatibility they should accept YUV formats with either positive or negative biHeight.

For compressed formats, biHeight must be positive, regardless of image orientation.


https://learn.microsoft.com/en-gb/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader?redirectedfrom=MSDN


Если не поможет, то приведите больше инфы: в каких FOURCC получаете фреймы, в какие фильтры их просовываете, и какой ставите на рендеринг? Если не рендерит, то куда (в какой фильтр) и в каком формате отдаете?

PS вот еще статья с пояснением про перевернутые изображение под Виндой https://learn.microsoft.com/en-gb/windows/win32/directshow/top-down-vs--bottom-up-dibs?redirectedfrom=MSDN.
Патриот здравого смысла
Отредактировано 04.10.2022 14:42 DiPaolo . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.