MATLAB Answers

BANI tita

how to divided n matrix to PA and PT?

Asked by BANI tita
on 17 Oct 2012

hi, I have a matrix divided into two groups A and B point, I have mask of A and B, my question is how to divided n matrix and putting points in Group A in a vector and points of B in the other this program gives me only the results of the first matrix (t = 1)

for t=1:220
  m=Im(:,:,t);  % image de 220 bandes
  PAA= [PAA;nonzeros(m.*ff)];




No products are associated with this question.

1 Answer

Answer by Image Analyst
on 17 Oct 2012

Well it must be because nonzeros(m.*bb) is null. And the only way that can happen is if masquePT is all 0 or m is all 0, or each is zero where the other has some non-zero values. Make a mask for PT, masquePT, that has some non-zero values in it. Then, make sure your channels 2-220 of m have non-zero values in it at the same places where your mask has non-zero values. Then PTT will have some values in it.


 size(PAA)%taille de points d'apprentissage
>> 5181    1
size(PTT) %taille des points de tests
>> 5185    1
      alors que notre 
  size(Im) %taille de notre image (220 bande)
   >> 145   145   220

OK, they're different. That's bad. Do the same thing for masquePA and masquePT so we can see which mask is not the same size as the image. But 145*145 = 21025, so after each iteration, the vectors should grow by 21025. Why are they not doing that? If you multiply a mask by an image, they MUST be the same size.

it gives me

>> 145 145 
>>145 145 
it has the same size of a single band

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!