dividing video into scenes

4 views (last 30 days)
Majid Al-Sirafi
Majid Al-Sirafi on 7 Jul 2018
Commented: Majid Al-Sirafi on 9 Jul 2018
hi everyone the attached file is matlab code for dividing AVI movie into scenes. unfortunately, the accuracy of this
program is low. So, is there any alternative matlab program?
Regards
Majid

Answers (4)

Image Analyst
Image Analyst on 7 Jul 2018
It's hard to define what a scene is. If the camera smoothly turns around 180 degrees is that a new scene?
See my attached example where I take the mean of all frames. You could examine the means and try to find abrupt changes in the means which could indicate a change in scene. Though it could also be the same scene where someone just put their hand over the lens for a short time.
  7 Comments
Image Analyst
Image Analyst on 8 Jul 2018
Look at the plot of gray levels in the upper left axes. See how the mean abruptly jumps at certain frames? What do you think might cause that?
That jump would be caused when the image changes drastically from the prior frame, in other words, it would happen at an abrupt scene change. Does that make sense?
Now, look at the magnitude of the gray level jumps when you're at one of these jumps. It looks like it changes about 20 gray levels or more. When it changes less, the scene is just undergoing normal, slow changes in scenery (like the camera slowly panning) but not a complete scene change. Another way you could do it is to look at the binary image and count the white pixels -- the area fraction. A large area fractions (lots of differences showing up in white) would indicate a scene change. This would also indicate a scene change if the image changed but the histogram didn't, like the camera flipped upside down, or a person walked from one side of the scene to the other. You'd have to decide if that constituted a scene change or not. You could even have 2 or 3 scene change metrics and have them vote as to whether a genuine scene change occurred.
Majid Al-Sirafi
Majid Al-Sirafi on 9 Jul 2018
thank you very much dear Image analyst for this valuable information about scene detection..
Can I contact with you about scene subject later? Actually, currently I'm working on Project related to Watermarking in Video media depending on the scene detection. your example may help me.
regard,
Majid

Sign in to comment.


Majid Al-Sirafi
Majid Al-Sirafi on 7 Jul 2018
dear image analyst do you know the value of threshold by which the changed scene is detected
  1 Comment
Image Analyst
Image Analyst on 8 Jul 2018
No. I think you should plot the difference from frame to frame as a function of frame and look at the frames where you know for a fact that the scene has changed. Those differences should be about right, and all the other differences will probably be a lot less. So set the threshold about half way between the known scene change difference, and a typical non-changing scene difference.

Sign in to comment.


Majid Al-Sirafi
Majid Al-Sirafi on 8 Jul 2018
so, dear mage Analyst look at the your attached example, which I modified it (line 167,168). I stored the threshold values in array. So, can we detect the scenes through these values
Note:
(ali.avi) movie file cannot be attached since it not be supported.How can I attached it to run the example
  1 Comment
Image Analyst
Image Analyst on 8 Jul 2018
zip files can be attached if they are less than about 5 MB

Sign in to comment.


Majid Al-Sirafi
Majid Al-Sirafi on 8 Jul 2018
dear image analyst, find the attached file

Products


Release

R2014a

Community Treasure Hunt

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

Start Hunting!