how to write the code for dividing pixel values of an image with the mean pixel value?

1 次查看(过去 30 天)
Hello Sir, This is the code i have written.I have the global mean of the entire image(hyperspectral image).How can i write the code to divide each pixel of the image with the global mean value.
X=multibandread('subset.dat',[215,151,155],'int16',0,'bil','ieee-le,{'Band','Range',[1 5 151]});
S=decorrstretch(X);
spectrum=S(100,50,:);
band=size(spectrum);
band=band(3);
for n=0:(band-1)
x(n+1)=(n*5)+1;
y(n+1)=spectrum(1,1,n+1);
end
plot(x,y);
xlabel('band no.');
ylabel('reflectance');
mean_band=zeros(155,1);
for i=1:155
mean_band(i,1)=mean(mean(i));
end
global_mean=mean(mean_band)

回答(1 个)

Jan
Jan 2014-2-3
To scale each pixel vector in hyperspectral image X with the global data mean simply do
X = X ./ mean( X(:) );

标签

Community Treasure Hunt

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

Start Hunting!

Translated by