Borrar filtros
Borrar filtros

How to proceed to identify shadows in an image?

5 visualizaciones (últimos 30 días)
john
john el 11 de Feb. de 2012
Comentada: Walter Roberson el 29 de Dic. de 2016
Hi. I want to detect shadows . I tried two algorithms which did not work for all images.
1) finding (R+G+B)/3 for a single pixel and computing mean for the image by adding all pixels and divide by no of pixels. Those values below mean are considered as shadows
2) finding new image x using
x(i,j)=(4/pi) .* atan( (double(I(i,j,1)) - sqrt(double(I(i,j,1)^2 + I(i,j,2)^2 + I(i,j,3)^2))) / (double(I(i,j,1)) + sqrt(double(I(i,j,1)^2 + I(i,j,2)^2 + I(i,j,3)^2))) );
then apply otsu's threshold to detect shadows.
Is there any other method to detect shadows
  1 comentario
Walter Roberson
Walter Roberson el 11 de Feb. de 2012
I added spaces to the formula to try to make it more readable.

Iniciar sesión para comentar.

Respuestas (2)

Image Analyst
Image Analyst el 11 de Feb. de 2012
Your proposed method 1 does not find shadows. All it tries to do is find the half of the pixels in the image that are below the mean. Only in certain rare and special images will exactly the darkest half of the image be a shadow. And I'm not sure what the point of taking the arctangent was in method #2 where you're taking the arctangent of the red channel minus the luminance divided by the red channel plus the luminance.
And also search for shadow on this site: http://www.visionbib.com/bibliography/motion-i762.html#Background%20Detection,%20Background%20Model There are lots of papers on it there.

kanaga
kanaga el 6 de Nov. de 2014

Categorías

Más información sobre Get Started with Image Processing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by