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

6 vues (au cours des 30 derniers jours)
ALINA
ALINA le 3 Fév 2014
Commenté : ALINA le 3 Fév 2014
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)

Réponses (1)

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

Catégories

En savoir plus sur Hyperspectral Image Processing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by