Getting Error In FFT filtering ?
7 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Jordan Monthei
2013-5-8
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 个评论
Image Analyst
2013-5-8
Jordan, what you said about multiplication is exactly the opposite of what it is. * is matrix multiplication and .* is element-by-element multiplication.
更多回答(1 个)
Image Analyst
2013-5-8
Make sure H and F are the same size.
size(H)
size(f)
size(PQ)
size(F)
What does all that report?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!