2011-11-14 3 views
2

Я заметил, что на некоторых устройствах без реального управления оптическим фокусом (Blackberry, Android-телефоны и т. Д.) Есть встроенный цифровой механизм автофокуса.Алгоритм или реализация с открытым исходным кодом для пользовательского автофокуса

Я полагаю, что этот механизм полностью реализован в программном обеспечении, применяя алгоритм «обрезания» изображения к каналу изображений с помощью камеры) *.

Есть ли алгоритм (или даже библиотека с открытым исходным кодом на Java или C), чтобы я мог применить его к изображению после его захвата?

Заранее спасибо.

* ОБНОВЛЕНИЕ: Похоже, что то, что я ищу, на самом деле не является автофокусом, поскольку оно предполагает обнаружение наилучшего уровня фокусировки и среднее значение для его изменения через API. Мне нужен алгоритм, который дает размытое входное изображение, создает выходное изображение с лучшим определением.

+0

Я бы сказал, что фокусировка в камерах - это нечто иное, чем любой алгоритм заточки. Allthough OT, ссылаясь на фокусирующие подходы, это может представлять интерес: http://www.doc.com/technologies/Documents/Lens%20Tilt%20in%20Miniature%20AF%20Cameras.pdf – alk

+0

Спасибо за ссылку. И согласитесь, я уточню свой вопрос с лучшим описанием. –

ответ

1

Кажется, вы о деконволюции. Скажем, мы имеем свертку g (x) a = h, где g - исходное изображение, а - апертура камеры и h - ощущаемое («размытое») изображение, (x) - операция свертки.

Deconvolution вычисляет G с известными A и H и может быть выполнен разными способами.

Один основан на том, что Fg (i) * Fa (i) = Fh (i), где F - преобразование Фурье. Очевидно, Fg (i) = Fh (i)/Fa (i).

На практике deconvolution значительно увеличивает шум, поэтому для использования с ним необходим алгоритм подавления шума.

+0

Это интересно. Благодарю. –