Я работаю над простым видеоустройством, и я хотел бы представить несколько классных стандартных функций камеры. Среди всего, что я хотел бы представить
Сейчас я ищу несколько примеров, как можно реализовать эти функции. У вас есть какие-нибудь полезные ссылки?
РЕДАКТИРОВАТЬ: Хорошо, я буду использовать стандартную камеру CCD, которая может обеспечить мне ~ 20 кадров в секунду при разрешении ~ 1MPix. Планирую написать на C #, в случае проблем с производительностью буду использовать C ++. Объектив + ПЗС-камера + моторчик.
РЕДАКТИРОВАТЬ: Хотелось бы увидеть более подробное описание алгоритма. Я уверен, что некоторые из них нужно преподавать на университетских курсах, но мне сложно найти некоторые. Для индикатора фокуса я пробовал примитивный подход, но в некоторых случаях это не помогло.
int verticalPoints = 0, horizontalPoints = 0;
///Calculate the vertical differences
for (int x = 0; x < toAnalyze.Width; x++)
{
for (int y = 1; y < toAnalyze.Height; y++)
{
byte* pixel = (byte*)data.Scan0 + y * stride + x;
verticalDiff += Math.Abs(*pixel - *(pixel - stride));;
}
}
verticalDiff /= toAnalyze.Width * (toAnalyze.Height-1);
///Calculate horizontal differences
for (int y = 0; y < toAnalyze.Height; y++)
{
for (int x = 1; x < toAnalyze.Width; x++)
{
byte* pixel = (byte*)data.Scan0 + y * stride + x;
horizontalDiff += Math.Abs(*pixel - *(pixel - 1));
}
}
horizontalDiff /= (toAnalyze.Width-1) * toAnalyze.Height;
///And return the average value
return(verticalDiff + horizontalDiff) / 2;
Спасибо