2016-07-29 21 views
0

Ich versuche, Heatmaps für Videoinhalte zu erstellen. Für jeden Frame im Video habe ich Daten von bestimmten Pixeln, die die Fokuspunkte sind, und ich möchte das Video in einer Heatmap-Form entsprechend den Pixelkoordinaten (30 pro Frame), die ich für jeden Frame habe, reproduzieren. Wäre es möglich, in Matlab zu produzieren, auch wenn es nur für bestimmte Frames und nicht für das gesamte Video gemacht wird? Vielen Dank.Erstellen von Heatmap des Videoinhalts für bestimmte Pixel in jedem Frame als Dateneingabe

Antwort

0

Wenn Sie die Koordinaten der Pixel kennen, können Sie sie für jedes Bild in einer 2D-Binärmatrix markieren. Fügen Sie dann alle Matrizen hinzu und zeichnen Sie das Ergebnis mit dem Befehl imagesc auf. Hier ist ein Beispiel mit zufälligen Pixelpositionen.

X = zeros(10,10,50); % Create 50 empty frames 

for i = 1:50 % Loop through each frame 
    % Generate 30 random pixel locations 
    pixel_x = randi(10,[30,1]); 
    pixel_y = randi(10,[30,1]); 
    % Mark pixel locations in frame with 1's 
    for j = 1:30 
     X(pixel_y(j),pixel_x(j),i) = 1; 
    end 
end 

% Sum frames 
X_sum = sum(X,3) 

% Plot heatmap 
figure 
imagesc(X_sum) 
colormap hot 
colorbar 

Heatmap