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

5 views (last 30 days)
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)

Answers (1)

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

Categories

Find more on Biomedical Imaging in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!