Image Sharpness Calculation ?

59 ビュー (過去 30 日間)
shawin
shawin 2020 年 2 月 11 日
編集済み: shawin 2020 年 2 月 27 日
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 件のコメント
KALYAN ACHARJYA
KALYAN ACHARJYA 2020 年 2 月 11 日
What is I^2(x)?
shawin
shawin 2020 年 2 月 11 日
I updated the formula , sorry for that

サインインしてコメントする。

回答 (1 件)

KALYAN ACHARJYA
KALYAN ACHARJYA 2020 年 2 月 11 日
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 件のコメント
shawin
shawin 2020 年 2 月 16 日
Thank you :)
shawin
shawin 2020 年 2 月 21 日
編集済み: shawin 2020 年 2 月 27 日
Thank you

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by