Image Sharpness Calculation ?

62 views (last 30 days)
shawin
shawin on 11 Feb 2020
Edited: shawin on 27 Feb 2020
I have an issue with Image sharpness calculation, iam trying to code the formula below , but iam getting error :
The formula is :
where
.
and
: represents the horizontal/vertical gradient at pixel (x,y) obtained via the Sobel filter.
then S is :
.
and there is an issue with image gradient, if the image has no same hieght width the equation will not work ??
I have the code below for L(x,y) :
clear all;
my_image = im2double(imread('lena512.tif'));
my_image1 = my_image(:,:,1);
A=my_image1;
% use the help of a bigger matrix
B=nan(size(A)+2);
B(2:end-1,2:end-1)=A;
% pre-define memory for result
sharpness = 0*A;
% calculate!
for i=2:size(A,1)+1,
for j=2:size(A,2)+1,
tmp(2,2)=nan;
sharpness(i,j)= (temp (i-1,j)) + (temp(i+1,y) -temp(i,j-1)-temp(i,y+1);
end
end
  2 Comments
KALYAN ACHARJYA
KALYAN ACHARJYA on 11 Feb 2020
What is I^2(x)?
shawin
shawin on 11 Feb 2020
I updated the formula , sorry for that

Sign in to comment.

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 11 Feb 2020
my_image1 = my_image(:,:,1);
sharpness=0;
[r,c]=size(my_image1);
for i=2:r-1
for j=2:j-1
L=(my_image1(i-1,j)+my_image1(i+1,j)-my_image1(i,j-1)-my_image1(i,j+1))^2;
sharpness(i,j)=L*(I^2(x)+I^2(y))
%..................^ ^ Change the I^2(x) and I^2(y)..I didnot undestand thease two I(x) and I(y)
end
end
sharpness
  6 Comments
shawin
shawin on 16 Feb 2020
Thank you :)
shawin
shawin on 21 Feb 2020
Edited: shawin on 27 Feb 2020
Thank you

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!