Ich habe ein Hintergrundbild und ein Vektorfeld mit individuellen Farbinformationen für jeden Vektor, die ich über dem Hintergrundbild plotten möchte:
% Zufälliges Hintergrundbild
Image = rand(100,200);
% Zufällige Farben
color1 = rand(30,30);
color2 = rand(30,30);
color3 = rand(30,30);
% Positionen
x = 31:60;
y = 31:60;
[X,Y] = meshgrid(x,y);
% Zufällige Vektoren
DX = 10 * rand(30,30);
DY = 20 * rand(30,30);
% Der Vektor bei (X(i,j),Y(i,j)) soll die RGB-Farbe [color1(i,j) color2(i,j) color3(i,j)] haben
% Einheitlich gefärbtes Vektorfeld - funktioniert gut
imshow(Image);
hold on;
quiver(X,Y,DX,DY,'color',[0.5 0.75 1]);
% Was ich gerne hätte - funktioniert nicht
imshow(Image);
hold on;
quiver(X(:),Y(:),DX(:),DY(:),'color',[color1(:) color2(:) color3(:)]);
Ein einfacher for-Loop führt zu einer Auslöschung des Hintergrundbildes, wie in folgendem Link festgestellt wurde: Bild wird allmählich gelöscht, wenn es mit Linien überlagert wird, zumindest für die Matlab-Version R2012b (8.0.0.783).
Irgendwelche Ideen?