Gaussian using fspecial('gaussian',h,s)

30 visualizaciones (últimos 30 días)
azarang asadi
azarang asadi el 4 de Oct. de 2019
Respondida: Jyothis Gireesh el 7 de Oct. de 2019
Hi,
I'm trying to generate a gaussian with fspecial but I keep on getting the same error:
Error in fspecial (line 8)
LG(i)=fspecial('gaussian',h,s);
Does anybody know what is wrong?
Code:
LG=zeros(20,20);
hsize=[1:20]';
sigma=rand(20,1);
for i=1:20
h=hsize(i);
s=sigma(i);
LG(i)=fspecial('gaussian',h,s);
end

Respuestas (1)

Jyothis Gireesh
Jyothis Gireesh el 7 de Oct. de 2019
The fspecial('gaussian',h,s) returns a circularly symmetric gaussian function of size h*h. Since the value of h is updated in each iteration of the for loop, the size of the resulting matrix also changes accordingly. The variable LG(i) can only be assigned a scalar value since LG is declared as a 20*20 matrix of zeros. So the assignment may result in a size mismatch between the left and right sides.
It may also be better to replace the fspecial()” function with imgaussfilt()” function which offers the same functionality.
Please go through the following link to get further information on imgaussfilt()”

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by