Я работаю над простым видеоустройством, и я хотел бы представить некоторые стандартные классные функции камеры. Среди всего, что я хотел бы представить
- Индикатор фокусировки
- Автофокусировка
- Автоматическая экспозиция (идеальная оценка времени экспозиции)
Сейчас я ищу несколько примеров, как эти функции могут быть реализованы. У вас есть полезные ссылки?
ИЗМЕНИТЬ: Хорошо, я буду использовать стандартную CCD-камеру, которая может обеспечить мне ~ 20 кадров в секунду в разрешении ~ 1MPix. Я планирую написать его на С#, в случае проблем с производительностью, я буду использовать С++. У меня будет объектив + CCD-камера + двигатель.
ИЗМЕНИТЬ: Я хотел бы увидеть более подробное описание алгоритма. Я уверен, что некоторых из них нужно преподавать в университетских курсах, но у меня есть проблемы с поиском некоторых. Для индикатора фокусировки я пробовал примитивный подход, но в некоторых случаях он не удался.
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;
Спасибо