Remote sensing-change detection
Afficher commentaires plus anciens
my aim is to calculate mean vector and spectral feature vector of the image pixel but i keep on getting this error,'??? Index exceeds matrix dimensions.'
*my main code
clear;close all;
im=imread('tileIndoAfter6.tif');
im1=imread('tileIndoBefore6.tif');
im2 = reshape(im,500*500,3);
im3 = reshape(im1,500*500,3);
fim = im2single(im2(:,:,2));
fim1 = im2single(im3(:,:,2));
P=path;
path(P,'C:\Documents and Settings\Digs Diggy\My Documents\MATLAB\my work\fuzzy_cluster\');
[bwfim0,level0]=fcmthresh(fim,0);
[bwfim1,level1]=fcmthresh(fim,1);
subplot(2,2,1);
imshow(fim);title('Original');
subplot(2,2,3);
imshow(bwfim0);title(sprintf('FCM0,level=%f',level0));
subplot(2,2,4);
imshow(bwfim1);title(sprintf('FCM1,level=%f',level1));
z=path;
path(z,'C:\Documents and Settings\Digs Diggy\My Documents\MATLAB\my work\fuzzy_cluster\');
[bwfim_0,level0]=fcmthresh1(fim1,0);
[bwfim_1,level1]=fcmthresh1(fim1,1);
figure(2);
subplot(2,2,1);
imshow(fim1);title('Original_image_Before');
subplot(2,2,3);
imshow(bwfim_0);title(sprintf('FCM0,level=%f',level0));
subplot(2,2,4);
imshow(bwfim_1);title(sprintf('FCM1,level=%f',level1));
figure(3);
%fimm=imdivide(bwfim,bwfimk);
fimm=bwfim-bwfimk;
fimml=bwfim0-bwfim_0;
subplot(2,2,2);
imshow(fimml);title(sprintf('FCMdiff0,level=%f',level0));
fimmml=bwfim1-bwfim_1;
subplot(2,2,3);
imshow(fimmml);title(sprintf('FCMdiff1,level=%f',level1));
Réponses (1)
bym
le 24 Sep 2011
perhaps instead of
im2 = reshape(im,500*500,3);
im3 = reshape(im1,500*500,3);
you mean:
im2 = reshape(im,500,500,3);
im3 = reshape(im1,500,500,3);
BTW - formatting your code makes it easier to read, and thus more likely to get an answer
Catégories
En savoir plus sur Spectral Measurements dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!