snapshot problem in video processing

4 vues (au cours des 30 derniers jours)
mehrdad jafari
mehrdad jafari le 1 Juil 2020
Commenté : Walter Roberson le 1 Juil 2020
i have a problem with snapshot in my codes.i can;t take a frame for remove noise.the program have error
Undefined function 'snapshot' for input arguments of type 'matlab.graphics.primitive.Image'.
Error in Untitled4 (line 10)
img= snapshot(c);
clear
clc
vid= VideoReader('viptraffic.avi'); %reading video file by VideoReader function
for i=1:vid.NumberofFrames %its a loop for noise removing and showing video online
img=read(vid,i); %reading video frame
c=imshow(img)
img= snapshot(c);
end
  5 commentaires
Walter Roberson
Walter Roberson le 1 Juil 2020
What is it you want to take an image of? A camera connected to the computer? Or a frame from the video that is playing?
mehrdad jafari
mehrdad jafari le 1 Juil 2020
video playing

Connectez-vous pour commenter.

Réponses (1)

Turlough Hughes
Turlough Hughes le 1 Juil 2020
snapshot() is intended for use with a cameraboard object or webcam object and you are attempting you input an image object.
You want to take a image,when video is playing and then work on noise and show it again
To modify the frames and then view the results/create a new video of the modified frames you can do so as follows:
clear
clc
vid= VideoReader('viptraffic.avi'); %reading video file by VideoReader function
player = vision.VideoPlayer; % launch videoplayer
v = VideoWriter('newfile.avi'); % make object for saving modified video
open(v)
for i=1:vid.NumFrames
frame=read(vid,i); % get video frame
modifiedframe = frame; % make a copy
% Perform steps to modify each frame here:
modifiedframe(:,:,[2 3]) = 0; % for example show red stream only
% show results in video player
step(player,[frame modifiedframe]) % alternatively: step(player,modifiedframe)
writeVideo(v,modifiedframe); % write modified frame to your new video file.
pause(0.05)
end
close(v)
I opted to show before and after side by side in the videoplayer.
As for noise removal, there a numerous ways to do so.
some considerations:
  3 commentaires
mehrdad jafari
mehrdad jafari le 1 Juil 2020
Modifié(e) : mehrdad jafari le 1 Juil 2020
all the code i saw, didn't give me any clicking on video for choose a frame
Walter Roberson
Walter Roberson le 1 Juil 2020
I recommend starting with the File Exchange contribution videofig https://www.mathworks.com/matlabcentral/fileexchange/29544-figure-to-play-and-analyze-videos-with-custom-plots-on-top which already has callbacks programmed in to it, making it easier to adapt for your purposes.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by