0
我想創建一些高斯分佈並將它們放在圖像上。高斯人隨機創建參數(幅度,位置和標準差)。首先,我將參數放入向量或矩陣中,然後使用ngrid()函數來創建一個2d空間來創建高斯,但是我得到一個錯誤(因爲使用ngrid值的數學運算可能不是微不足道的......)。錯誤是:圖像上的creatig隨機高斯
??? Error using ==> minus
Integers can only be combined
with integers of the same class,
or scalar doubles.
Error in ==> ss_gauss_fit at 23
gauss = amp(i)*
exp(-((x-xc).^2 +
(y-yc).^2)./(2*std(i)));
的代碼是在這裏:
clear all;
image = uint8(zeros([300 300]));
imsize=size(image);
noOfGauss=10;
maxAmpGauss=160;
stdMax=15;
stdMin=3;
for i=1:noOfGauss
posn(:,:,i)=[ uint8(imsize(1)*rand()) uint8(imsize(2)*rand()) ];
std(i)=stdMin+uint8((stdMax-stdMin)*rand());
amp(i)= uint8(rand()* maxAmpGauss);
end
% draw the gaussians on blank image
for i=1:noOfGauss
[x,y] = ndgrid(1:imsize(1), 1:imsize(2));
xc = posn(1,1,i);
yc = posn(1,2,i);
gauss = amp(i)* exp(-((x-xc).^2 + (y-yc).^2)./(2*std(i)));
image = image + gauss;
end
請告訴我如何解決這個問題,情節2D高斯與參數向量... 在此先感謝
感謝,這正是我一直在尋找幫助我得到一些Python代碼工作。 – Aesir 2014-07-13 13:44:25