DirectShow. Увеличение изображения
От: Niswn  
Дата: 12.11.04 10:08
Оценка:
Как бы мне попроще и получше реализовать следующую штуку:

1. Необходимо (скажем, с устройства видеозахвата) вырезать часть изображения.
2. Эту вырезанную часть необходимо увеличить в размере и вывести не экран монитора. Причем нужно чтобы в увеличенном изображении не было апроксимации между пикселами, т.е по сути получившееся изображение должно представляться в виде квадратиков — увеличенных пикселей (если я понятно выражаюсь ).
ICQ: 326084932
Re: DirectShow. Увеличение изображения
От: mfasakhov  
Дата: 12.11.04 11:23
Оценка:
Здравствуйте, Niswn, Вы писали:

N>Как бы мне попроще и получше реализовать следующую штуку:


N>1. Необходимо (скажем, с устройства видеозахвата) вырезать часть изображения.

N>2. Эту вырезанную часть необходимо увеличить в размере и вывести не экран монитора. Причем нужно чтобы в увеличенном изображении не было апроксимации между пикселами, т.е по сути получившееся изображение должно представляться в виде квадратиков — увеличенных пикселей (если я понятно выражаюсь ).

Думаю, без написания своего фильтра здесь не обойтись. В качестве заготовки можно использовать DXSDK\Samples\C++\DirectShow\Filters\NullInPlace, а вкачестве примера часть из DXSDK\Samples\C++\DirectShow\Filters\RGBFilters хотя последний можно просто и переделать.
Re[2]: DirectShow. Увеличение изображения
От: mfasakhov  
Дата: 12.11.04 11:26
Оценка:
В догонку. Все это для DirectShow.
Re[2]: DirectShow. Увеличение изображения
От: Niswn  
Дата: 12.11.04 11:27
Оценка:
Здравствуйте, mfasakhov, Вы писали:

M>Здравствуйте, Niswn, Вы писали:


N>>Как бы мне попроще и получше реализовать следующую штуку:


N>>1. Необходимо (скажем, с устройства видеозахвата) вырезать часть изображения.

N>>2. Эту вырезанную часть необходимо увеличить в размере и вывести не экран монитора. Причем нужно чтобы в увеличенном изображении не было апроксимации между пикселами, т.е по сути получившееся изображение должно представляться в виде квадратиков — увеличенных пикселей (если я понятно выражаюсь ).

M>Думаю, без написания своего фильтра здесь не обойтись. В качестве заготовки можно использовать DXSDK\Samples\C++\DirectShow\Filters\NullInPlace, а вкачестве примера часть из DXSDK\Samples\C++\DirectShow\Filters\RGBFilters хотя последний можно просто и переделать.


А через фильтр Sample Grabber нельзя? Можно, например, получить буфер изображение одного размера, а переслать другого размера? Или размер изображения, проходящего через Sample Grabber, должен оставаться постоянным?
ICQ: 326084932
Re[3]: DirectShow. Увеличение изображения
От: mfasakhov  
Дата: 12.11.04 12:26
Оценка:
Здравствуйте, Niswn, Вы писали:

N>А через фильтр Sample Grabber нельзя? Можно, например, получить буфер изображение одного размера, а переслать другого размера? Или размер изображения, проходящего через Sample Grabber, должен оставаться постоянным?


Я почти не имел дела с Sample Grabber, но похоже там нет контроля над выходным пином.
Re[4]: DirectShow. Увеличение изображения
От: mfasakhov  
Дата: 12.11.04 13:48
Оценка:
Здравствуйте, Niswn, Вы писали:

N>>А через фильтр Sample Grabber нельзя? Можно, например, получить буфер изображение одного размера, а переслать другого размера? Или размер изображения, проходящего через Sample Grabber, должен оставаться постоянным?


M>Я почти не имел дела с Sample Grabber, но похоже там нет контроля над выходным пином.


У меня такая идейка. Захватывать с помощью Sample Grabber, а выводить напрямую в окно обработанную часть изображения используя, например BitBlt
Re[5]: DirectShow. Увеличение изображения
От: Niswn  
Дата: 12.11.04 16:02
Оценка:
Здравствуйте, mfasakhov, Вы писали:

M>Здравствуйте, Niswn, Вы писали:



M>У меня такая идейка. Захватывать с помощью Sample Grabber, а выводить напрямую в окно обработанную часть изображения используя, например BitBlt

Хорошая идейка. Надо будет попробовать.
ICQ: 326084932
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.