我正在使用一些MATLAB代碼通過視頻捕獲來跟蹤流體解決方案中的粒子。MATLAB - 根據可比較的z值繪製不同顏色的線
所有跟蹤的粒子都存儲在一個單元格陣列中(tr
),每個單元格條目都是跟蹤的不同粒子。然後單元格包含一個矩陣,其中每行包含該特定幀處的粒子參數(位置,大小,對比度等),N是粒子被跟蹤的視頻幀數。
每個單元格的第1列包含粒子x位置,每個單元格的第2列包含粒子y位置,每個單元格的第11列包含所有捕獲幀(忽略所有其他列)的粒子平均速度。
用於粒子單元的一個例子:
現在通常超過我已經捕獲我使用下面的代碼中的視頻的第一幀繪製這些軌跡:
image = read(mmreader([movie '.avi']), 1); %Loads the first frame of the avi file
figure
imshow(image);
hold on
for i = 1:length(tr) % Or choose which particle you want to show
plot3(tr{i}(:,1),tr{i}(:,2),tr{i}(:,11),'r')
end
但我希望做的是繪製粒子,因爲我會使用上面的代碼,但粒子軌道的顏色取決於其平均速度的值(紅 - 快,藍 - 慢等)。我想也許最好的方法是將它繪製在3D中,並使用平均速度作爲Z軸值?但我仍然不確定如何將顏色添加到繪圖中並保持相對性,以便可以通過繪製顏色來比較不同粒子的速度。
任何幫助將不勝感激!