Problem with shadow removal operation

I wrote matlab code for removing shadows but got the errorneous output. Can anyone please review my code and suggest the possible solutions. I am attaching the input output image and the reference paper is given in the link. <https://jivp-eurasipjournals.springeropen.com/articles/10.1186/s13640-017-0198-x >
function shadowremoval()
fontSize=14;
image=imread('inputimage.jpg');
image1=imread('foregroundimage.jpg');
image=imresize(image,[244 324]);
image1=imresize(image1,[244 324]);
% image=imresize(image,[406 646]);
% Do color conversion from rgb to hsv
x=rgb2hsv(image);
y=rgb2hsv(image1);
% Split the hsv component to h,s,v value
Hx = x(:,:,1);
Sx = x(:,:,2);
Vx = x(:,:,3);
Hy = y(:,:,1);
Sy = y(:,:,2);
Vy = y(:,:,3);
% Calculate a difference between this frame and the background.
dh=(abs(double(Hx) - double(Hy)));
ds1=(abs(double(Sx) - double(Sy)));
dv1=(abs(double(Vx) - double(Vy)));
figure;
subplot(3, 3, 1);
imshow(image1, []);
title('Inputimage', 'FontSize', fontSize);
subplot(3, 3, 2);
imshow(image, []);
title('Referenceimage', 'FontSize', fontSize);
subplot(3, 3, 3);
imshow(dh, []);
title('dh', 'FontSize', fontSize);
subplot(3, 3, 4);
imshow(ds1, []);
title('ds1', 'FontSize', fontSize);
subplot(3, 3, 5);
imshow(dv1, []);
title('dv1', 'FontSize', fontSize);
de_shadow=cat(3,dh,ds1,dv1);
%
% Perform the 'swt'
[as,hs,vs,ds] = swt2(ds1,2,'haar');
[av,hv,vv,dv] = swt2(dv1,2,'haar');
%
% %Compute the skewness value of 'swt of v'
sav=skewness(av(:));
shv=skewness(hv(:));
svv=skewness(vv(:));
sdv=skewness(dv(:));
%Compute the skewness value of 'swt of s'
sas=skewness(as(:));
shs=skewness(hs(:));
svs=skewness(vs(:));
sds=skewness(ds(:));
% %Perform the thresholding operation
b=(av>=sav);
c=(hv>=shv);
d=(vv>=svv);
e=(dv>=sdv);
%
f=(as>=sas);
g=(hs>=shs);
h=(vs>=svs);
i=(ds>=sds);
%
j=(b&f);
k=(c&g);
l=(d&h);
m=(e&i);
%Perform the inverse 'swt'operation
recv = iswt2(b,c,d,e,'haar');
recs= iswt2(j,k,l,m,'haar');
de_shadow1=cat(3,dh,recs,recv);
subplot(3, 3, 6);
imshow(de_shadow1, []);
title('deshadow1', 'FontSize', fontSize);
mask1=hsv2rgb(de_shadow1);
mask=rgb2gray(mask1);
mask=im2bw(mask);
subplot(3, 3, 7);
imshow(mask, []);
title('Grayoutput', 'FontSize', fontSize);
impixelinfo();
end

4 comentarios

Image Analyst
Image Analyst el 28 de Dic. de 2017
You forgot to attach your two images! Have you seen this link, and this link?
SHOBA MOHAN
SHOBA MOHAN el 29 de Dic. de 2017
@image analyst thanks for your response. I attach the images in the file name 'inputoutputimagespdf'. Have you looked into that?
Image Analyst
Image Analyst el 29 de Dic. de 2017
If you expect us to extract the images out of the pdf then give us the code for doing that. Otherwise attach the jpg images like I originally wanted.
SHOBA MOHAN
SHOBA MOHAN el 29 de Dic. de 2017
@ Image Analyst Kindly refer attached output in .jpg format.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Images en Centro de ayuda y File Exchange.

Preguntada:

el 28 de Dic. de 2017

Comentada:

el 29 de Dic. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by