Is it possible to change color for the plot function in opticalFlow class?

The plot function in opticalFlow class ( see here ) has three name-value pair arguments. I assumed other regular plot arguments would work too but obviously they don't. I tried to use 'color' unsuccessfully.
I plan to superimpose the plots on images and the current blue color is hardly visible... So my question is: is there any way to change the color of this plot?

 Réponse acceptée

Unfortunately, this can't be done directly. You need to find a handle to the underlying quiver plot and modify it. Here's some code to help you:
% Compute and plot optic flow
opflow = opticalFlow(randn(100,100),randn(100,100));
plot(opflow,'DecimationFactor',[10 10],'ScaleFactor',10);
% Find quiver handle
q = findobj(gca,'type','Quiver');
% Change color to red
q.Color = 'r';

1 commentaire

Thank you Anand. It did work but it slowed things much. Still, this seems to be the only way...

Connectez-vous pour commenter.

Plus de réponses (2)

I ran into a similar problem. Using "clf" in the beginning of the video loop will make sure the color is always the same, which is what I think you actually want.
Adam Danz
Adam Danz le 24 Mar 2026 à 16:00
The "Color" name-value-pair appeared in the documentation for the plot function in opticalFlow class starting in R2023a.

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by