У меня есть две высокоскоростные камеры USB3 (Ximea) и вы хотите закодировать приложение для записи изображений. Фрейдеры до 500 кадров в секунду при разрешении VGA, но я также хочу использовать разрешение 2Mpx со скоростью 170 кадров в секунду. Их. SDK SDK говорит мне, что я должен просто «получить» изображения в цикле. Моя проблема в том, что я понятия не имею, как получить изображения и сохранить их, показывая предварительный просмотр в реальном времени. Каждый раз, когда я добавляю некоторый код для фактического обновления фрейма, частота кадров резко падает.Как сохранить фотографии с высокой частотой кадров с предварительным просмотром в реальном времени
В данный момент я использовать функцию записи, которая вызывается с
Task.Run(() => Record());
и внутри Record() У меня есть цикл с получением растровых изображений
while(record == true)
{
Camera.GetImage(out myImage, timeout); //From Ximea .Net SDK
Info = Camera.GetLastImageParams();
Timestamp = Info.GetTimeStamp();
ThreadPool.QueueUserWorkItem(state => SaveImage(myImage, filepath, Timestamp));
}
с SaveImage быть
private void SaveImage(Bitmap myImage, string filepath, double Timestamp)
{
try
{
lock(myImage)
{
myImage.Save(filepath + Timestamp.ToString("0.00000") + ".tif");
}
}
catch{}
}
Как показать предварительный просмотр в реальном времени во время записи и как я могу сделать весь код mo (на данный момент есть некоторые отброшенные кадры из-за «объекта, который уже используется» - или «общая ошибка в GDI +» в вызове Image.Save(), который я пропускаю с помощью инструкции try/catch)?
Вы знаете сохранение на жесткий диск - не лучшая идея. 2 mpx - это примерно 2,5 мб файлов. Вы хотите 170 изображений в секунду, поэтому хотите записать 425 МБ в секунду на ваш жесткий диск и по-прежнему сможете загрузить его в ящик для изображений. Если у вас SSD, у вас может быть небольшая скорость записи. Едва ешьте 300 мб в секунду. Вместо этого вы хотите использовать буфер. Рам гораздо быстрее читает и пишет. – Franck
@Franck в моем случае Я сохраняю на SSD или Ram Disk - поэтому скорость записи должна быть достаточно быстрой. Кроме того, изображения монохромные, поэтому не такие большие - 2Mpx tifs 700KB с этой камерой. –