Visualizzazione Campo Vettoriale

di il
2 risposte

Visualizzazione Campo Vettoriale

Salve a tutti,

sto svolgendo un elaborato in Matlab nel quale mi viene chiesto:

1) Date due immagini fare la registrazione di esse.
2) Visualizzare il campo vettoriale corrispondete alla deformazione, ricavando le immagini di modulo e fase del vettore in ogni pixel a partire dalle immagini che rappresentano lo spostamento rispetto a x e rispetto a y restituiti dalla funzione.

Per il punto basta fare una imregister e salvare il risultato in una variabile.
Per il secondo punto, invece, sto riscontrando qualche dubbio. Ho pensato di usare un optical flow, il problema è che, poichè l'optical flow lavora sui video, non so se riesco ad adattarlo alle mie esigenze. Esiste un modo per trovare il campo vettoriale senza usare l'optical flow? Pensavo alla quiver, potrebbe andar bene? Altrimenti cosa potrei usare? Ahimè in rete non riesco a trovare molto

Ringrazio anticipatamente per la risposta, buona serata

2 Risposte

  • Re: Visualizzazione Campo Vettoriale

    Ho scoperto che usare l'optical flow non è sbagliato, il problema che sto riscontrando è che i vettori dati dall'optical flow non riportano il movimento tra le due immagini. A questo punto penso che il problema stia nella registrazione. Allego il codice, sapreste darmi alcune dritta sulla imregister?
    
    clc
    clear
    close all
    
    
    %Lettura foto
    fixed = rgb2gray(imread('Fixed_2.jpg'));
    moving = rgb2gray(imread('Moved_2.jpg'));
    
    % REGISTRAZIONE DELLE IMMAGINI
    
    [optimizer, metric] = imregconfig('multimodal');
    
    movingRegistered = imregister(moving, fixed, 'affine', optimizer, metric);
    
    %Creazione campoi vettoriale
    opticFlow = opticalFlowHS;
    flow = estimateFlow(opticFlow,fixed);
    flow = estimateFlow(opticFlow,movingRegistered);
    
    figure;
    subplot(2,2,1), imshow(fixed);
    title('Fixed');
    
    subplot(2,2,2),imshow(moving);
    title('Moving');
    hold on
    plot(flow, 'DecimationFactor',[10 10],'ScaleFactor',100)
    hold off
    
    subplot(2,2,3), imshow(flow.Magnitude,[]);
    title('Magnitude');
    subplot(2,2,4), imshow(flow.Orientation,[]);
    title('Orientation');
    
    
  • Re: Visualizzazione Campo Vettoriale

    Up
Devi accedere o registrarti per scrivere nel forum
2 risposte