Buogiorno a tutti,
ho ho in problema con l'utilizzo del ciclo parfor.
Vi riassumo velocemente di cosa si tratta.
Sto tentando di studiare in matlab una serie di immagini termiche con lo scopo di plottare l'andamento della temperature massima nel tempo di determinate aree dell'immagine.
Ho a disposizione 865 frame, ognuno di questi viene rappresentato con una matrice 512x640 (pixels).
Data la quantita' di tempo richiesto per gestire tutte queste immagini con in ciclo for, ho potato per l'utilizzo di in ciclo parfor.
Con il mio codice, ad ora, e' possibile selezionare la parte di imagine desiderata e plottarne l' andamento della temperature massima rispetto al tempo (ai frame). Cio' che vorrei fare ad ora e' trovare la posizione del pixel con la temperature massima per ogni istante. Sto usando il seguente ragionamento:
A=matr; %singolo frame
maximum=max(max(A)); %trovo la massima temperatura in un frame
[x,y]=find(A==maximum); % mi restituisce le coordinate di dove e' stato individuate il valore max di temperatura
dato che dovrei fare cio' per ogni frame (istante) devo inserire questo ragionamento nel ciclo parfor, ma ci deve essere qualche problema con la sintassi con cui ho tentato di implementare questo ragionamento.
Ho provato:
parfor kk = 1:MaxNumMAT
%...parte di load dei 865 frame...%
MaxT(kk) = max(max(VideoIR{kk}.DataTemp(x14:x24,y14:y24))); % la sottocartella DataTemp e' la nostra matrice A
%x14,x24,y14,y24 sono le coordinate della sezione di imagine che si vuole studiare
[x(kk),y(kk)]=find(VideoIR{kk}.DataTemp(x14:x24,y14:y24)==MaxT(kk))
end
Questo da' errore: "Undefined function or variable 'kk'." anche se uso le parentesi grafe maxT{kk}.
Spero che qualcuno sia in grado di aiutarmi!!