2015-02-25 4 views
0

Я нашел в Интернете, что лапласианский метод - неплохая техника для вычисления резкости изображения. Я пытался реализовать его в opencv 2.4.10. Как я могу получить меру резкости после применения функции Лапласа? Ниже приведен код:Вычисление резкости изображения

Mat src_gray, dst; 
int kernel_size = 3; 
int scale = 1; 
int delta = 0; 
int ddepth = CV_16S; 

GaussianBlur(src, src, Size(3,3), 0, 0, BORDER_DEFAULT); 

/// Convert the image to grayscale 
cvtColor(src, src_gray, CV_RGB2GRAY); 

/// Apply Laplace function 
Mat abs_dst; 

Laplacian(src_gray, dst, ddepth, kernel_size, scale, delta, BORDER_DEFAULT); 

//compute sharpness 
?? 

Может ли кто-нибудь, пожалуйста, направить меня на это?

+0

На [dsp.se] вы можете получить более качественные ответы. – Potatoswatter

ответ

3

Возможный дубликат: Is there a way to detect if an image is blurry?

поэтому ваш фокус мера:

cv::Laplacian(src_gray, dst, CV_64F); 

cv::Scalar mu, sigma; 
cv::meanStdDev(dst, mu, sigma); 

double focusMeasure = sigma.val[0] * sigma.val[0]; 

Редактировать # 1:

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

Использование вторых производных является одним из способов передачи высоких пространственных частот, связанных с острыми краями. В качестве второго оператора производной мы используем оператор Лапласа, который может быть приблизительной с помощью маски:

enter image description here

Foor объединение данных в каждой точке, мы используем два метода. Первый из них является сумма всех абсолютных значений, вождение к следующему фокуса измерения:

enter image description here

, где L(m, n) является сверткой входного изображения I(m, n) с маской L. Второй метод вычисляет дисперсию абсолютных значений, обеспечивая новый фокус мера определяется по формуле:

enter image description here

где L Overline представляет собой среднее значение абсолютных значений.

Читать статью

ДЛИ Пеша-Пачеко, Г. Кристобаля, Дж Чаморро-Мартинес, Дж Фернандес-Вальдивия, «Диатомовой автофокусировка в светлопольному микроскопии: а сравнительного исследования», 15-я Международная конференция по шаблону Распознавание, 2000. (Объем: 3)

для получения дополнительной информации.

+0

Я нашел это, но не был уверен, что так было. Любая идея о том, почему мера фокусировки в два раза превышает стандартное отклонение? – aries

+0

Я обновил свой ответ – Kornel

+0

@ Kornel, похоже, вы работаете в Image Processing - не могли бы вы помочь нам открыть эту выделенную группу: http://area51.stackexchange.com/proposals/66531/computer-vision/72084 Просто проголосовать за вопросы с менее чем 10 голосами. Благодарю. – Royi

0

Эта статья помогла мне в размывании, заточке, тиснении, обнаружении кромок в моем кадре. Kernal Image Processing

Я использовал вышеупомянутую помощь в приложении для Android. Когда я закончу, я опубликую ссылку и исходный код приложения.

Надеюсь, это поможет. Счастливое кодирование :)

+0

Я хотел бы видеть это спасибо. –

+0

Вы опубликовали исходный код? –

Смежные вопросы