implay a video and draw n points with ginput

5 views (last 30 days)
Hello, I have intensively tried to find any code to do that, but I could not find. So I am sorry to post my question here.
I have a mp4 video (on Mac), I use implay to see the video. This works. Now, I would like to draw N points using ginput function on the implay window.
My understanding is that it is not possible, because the video reader is not a figure. I guess ginput was designed to work only on figure.
So my request is maybe not relevant. My goal is to show a video, and let the user point out several areas (point or pixel) of interest, get the (x,y) coordinates of those points, and then, retrieve the blue pixel intensity versus time. So thanks to ExtractMovieFrame.m program from
I could already get the profile on 1 single point that I defined in my program with x=350 and y=350. But this was not graphically selected on the picture or on the video. This is what I would like to do : to get the position of 3 or 4 points that will be defined using a kind of ginput(4).
Could you help me ?
  2 Comments
laurent jalabert
laurent jalabert on 21 Dec 2022
Well, maybe I was not clear.
If you run any video using :
implay(movieFullFileName)
then, how can you use [x,y] = ginput(4) relatively to the implay window ?
What I explain in my problem, is that ginput is refered to a figure, not to a implay. So I was looking for a kind of similar function of ginput but for being applied to a displayed video. Sorry for my misleading problem introduction

Sign in to comment.

Accepted Answer

prasanth s
prasanth s on 21 Dec 2022
try:
h=implay(video)
[x,y] = getpts(h.Visual.Axes)

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!