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

8 views (last 30 days)
hekimgil on 31 May 2016
Answered: Oskar Wilhelmsson on 24 Mar 2018
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?

Accepted Answer

Anand on 2 Jun 2016
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 Comment
hekimgil on 8 Aug 2016
Thank you Anand. It did work but it slowed things much. Still, this seems to be the only way...

Sign in to comment.

More Answers (1)

Oskar Wilhelmsson
Oskar Wilhelmsson on 24 Mar 2018
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.

Community Treasure Hunt

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

Start Hunting!

Translated by