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
0
A
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