MATLAB Answers

Image Sharpness Calculation ?

68 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

Show 3 older comments
shawin
shawin on 16 Feb 2020
Thank you :)
shawin
shawin on 21 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!