Convert live colour video into gray scale video?
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Koohyar
il 6 Set 2020
Commentato: Image Analyst
il 29 Mag 2022
Hi,
I am using MATLAB for image processing.I need to have a gray scale video saved in disk. Please can you help me to manipulate the following script in order to give a gray scale video.I changed the set(vid, 'ReturnedColorspace', 'rgb') to set(vid, 'ReturnedColorspace', 'grayscale'), but it shows error (Error using im2frame
Indexed movie frame must have a non-empty colormap).
imaqreset;
%warning('off','all'); %.... diable warining msg ...;
vid = videoinput('winvideo',1, 'YUY2_640x480');
set(vid, 'FramesPerTrigger', Inf);
set(vid, 'ReturnedColorspace', 'rgb');
% vid.FrameRate =30;
vid.FrameGrabInterval = 1; % distance between captured frames
start(vid)
aviObject = VideoWriter('myVideo.avi'); % Create a new AVI file
open(aviObject);
for iFrame = 1:50 % Capture 100 frames
% ...
% You would capture a single image I from your webcam here
% ...
I=getsnapshot(vid);
%imshow(I);
F = im2frame(I); % Convert I to a movie frame
writeVideo(aviObject,F); % Add the frame to the AVI file
end
close(aviObject); % Close the AVI file
stop(vid);
thanks
2 Commenti
Risposta accettata
Amrtanshu Raj
il 9 Set 2020
Hi,
You can modify your code like this to get the desired results.
CODE :
imaqreset;
%warning('off','all'); %.... diable warining msg ...;
vid = videoinput('winvideo',1, 'YUY2_640x480');
set(vid, 'FramesPerTrigger', Inf);
set(vid, 'ReturnedColorspace', 'rgb');
% vid.FrameRate =30;
vid.FrameGrabInterval = 1; % distance between captured frames
start(vid)
aviObject = VideoWriter('myVideo.avi'); % Create a new AVI file
open(aviObject);
for iFrame = 1:50 % Capture 100 frames
% ...
% You would capture a single image I from your webcam here
% ...
I=getsnapshot(vid);
%changes made here
grayimg = rgb2gray(I); % Convert rgb image to grayscale img
%imshow(I);
F = im2frame(grayimg); % Convert grayimg to a movie frame
writeVideo(aviObject,F); % Add the frame to the AVI file
end
close(aviObject); % Close the AVI file
stop(vid);
6 Commenti
Image Analyst
il 29 Mag 2022
@almog haviv There are numerous comments all over. What lines are you confused about?
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!