Convert live colour video into gray scale video?
8 次查看(过去 30 天)
显示 更早的评论
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
采纳的回答
Amrtanshu Raj
2020-9-9
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 个评论
Image Analyst
2022-5-29
@almog haviv There are numerous comments all over. What lines are you confused about?
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!