Getting Error In FFT filtering ?

1 visualización (últimos 30 días)
jagannath mishra
jagannath mishra el 4 de Mayo de 2013
sir i tried to make a gaussian filter.i use the steps given in the book(digital image processing using MATLAB,OF Gonzalez & Woods & Eddins )in the chapter3.i have done upto the step
[f,revertclass]=tofloat(f)
here 'f' is an image(of int8),here also given an error that"Undefined function or method 'tofloat' for input arguments of type 'uint8'."
PQ=paddedsize(size(f));
F=fft2(f,PQ(1),PQ(2));
then i use gaussian filter and get the transfer function.and then
H=ifftshift(H) for making center
then G=H.*F;
here i get an error which is "Error using ==> times Matrix dimensions must agree.
Error in ==> gaussian at 16
G=H.*F;"
please tell me how to overcome from this error

Respuesta aceptada

Jordan Monthei
Jordan Monthei el 8 de Mayo de 2013
you are performing matrix multiplication when you use the '.*' command. The error you are receiving is telling you that the two "matrices" that you are trying to multiply are not of the same dimensions.
I assume you are trying to multiply numbers and not matrices and would recommend using '*' and not '.*'
  3 comentarios
Image Analyst
Image Analyst el 8 de Mayo de 2013
Jordan, what you said about multiplication is exactly the opposite of what it is. * is matrix multiplication and .* is element-by-element multiplication.
Jordan Monthei
Jordan Monthei el 8 de Mayo de 2013
I stand corrected. good catch.

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 8 de Mayo de 2013
Make sure H and F are the same size.
size(H)
size(f)
size(PQ)
size(F)
What does all that report?
  1 comentario
jagannath mishra
jagannath mishra el 9 de Mayo de 2013
thanks sir i made it and it works.thanks a lot

Iniciar sesión para comentar.

Categorías

Más información sobre Images en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by