Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.07;
Скачать: CL | DM;

Вниз

Управление платой видеозахвата   Найти похожие ветки 

 
joseph   (2006-12-27 11:19) [0]

Здравствуйте, уважаемые коллеги.

Прошу помочь новичку в области видеозахвата.

Для одного приложения, которое я пишу, требуется вывод на экран, а затем запись в файл одним блоком одного кадра  изображений с четырех видеокамер.

Есть четырехвходовая плата на чипе Bt878. Для видеозахвата я использую DSPack (аналог примера PlayVideoCap из дистрибутива).

Переключение входов пытаюсь делать с помощью метода Route интерфейса IAMCrossBar.

procedure TVideoForm.SampleGrabberBuffer(sender: TObject;
 SampleTime: Double; pBuffer: Pointer; BufferLen: Integer);
var
 Image: TImage;

begin
 case DeviceNo of
   0: Image := Image1;
   1: Image := Image2;
   2: Image := Image3;
   3: Image := Image4;
 end;

 Image.Canvas.Lock;
 try
   SampleGrabber.GetBitmap(Image.Picture.Bitmap, pBuffer, BufferLen);
 finally
   Image.Canvas.Unlock;
 end;

 Inc(DeviceNo); if DeviceNo > 3 then DeviceNo := 0;

 amcbTest.Route(0, DeviceNo);
end;

Каналы действительно выводятся каждый в свой Image, но выглядят как кадры телевизора
с неисправной кадровой синхронизацией: то посредине кадра какая-то полоса, то часть
изображения одного канала попадает в окно другого и т.п.

Наверное событие OnBuffer надо как-то синхронизовать с переключением? Или я вообще иду по неверному пути?

Помогите, пожалуйста разобраться с происходящим!

Заранее благодарен,

                                  Иосиф Рисенберг


 
medved_68 ©   (2006-12-28 09:40) [1]


> Каналы действительно выводятся каждый в свой Image, но выглядят
> как кадры телевизора
> с неисправной кадровой синхронизацией: то посредине кадра
> какая-то полоса, то часть
> изображения одного канала попадает в окно другого и т.п.
>

joseph после переключения входа на другой канал необходимо для "устаканивания" изображения перед захватом кадра сделать паузу примерно 280 мс. Или же пропустить два кадра и захватить в Имадже 3. :)))


 
Sapersky   (2006-12-28 12:34) [2]

Если есть возможность - лучше синхронизировать камеры (общий FPS будет выше). См. в инструкции словосочетания line-lock (от сети) и gen-lock (друг от друга).


 
joseph   (2006-12-29 00:33) [3]

Большое спасибо, коллеги!

Оказалось достаточным просто пропустить один кадр. С синхронизацией камер обязательно попробую.



Страницы: 1 вся ветка

Текущий архив: 2007.10.07;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.037 c
1-1183370769
Krants
2007-07-02 14:06
2007.10.07
ToolsApi в своих приложениях


4-1175630984
LuceferAB
2007-04-04 00:09
2007.10.07
как показать форму не отбирая фокуса


2-1189505304
нико-лай
2007-09-11 14:08
2007.10.07
ReadLn +Double


2-1189192064
Dmitriy_
2007-09-07 23:07
2007.10.07
Прозрачная форма, но в фокусе?


2-1189176135
*Ray*
2007-09-07 18:42
2007.10.07
Удалить подстроку из очень большой строки (больше 2 ГБ )





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский