How do i solve the error of VideoWriter/writeVideo

조회 수: 41 (최근 30일)
chaima
chaima 2023년 10월 11일
편집: Bhanu Prakash 2023년 10월 11일

Hello , i wrote this code to detect a face during a video :
%Reading the video
VideoFileReader=VideoReader('vidto.avi');
myvideo = VideoWriter('myfile.avi');
depVideoPlayer=vision.DeployableVideoPlayer;
faceDetector = vision.CascadeObjectDetector ;

%Read frame by Frame
while hasFrame(VideoFileReader)
videoFrame = readFrame(VideoFileReader);
bbox = faceDetector(videoFrame);
videoFrame = insertShape(videoFrame,'rectangle',bbox);

% display video
depVideoPlayer(videoFrame);

writeVideo(myvideo, videoFrame);
pause(1/VideoFileReader.FrameRate);
end

but each time i try the same error shows : 'Error using VideoWriter/writeVideo
OBJ must be open before writing video. Call open(obj) before calling writeVideo.'
why does this keep happening ? and how can i solve this

답변 (1개)

Bhanu Prakash
Bhanu Prakash 2023년 10월 11일
편집: Bhanu Prakash 2023년 10월 11일
Hi Chaima,
I understand that you are facing an error while writing frames into a video file using the ‘VideoWriter’ function.
To write the modified frames into a video file, the ‘VideoWriter’ object ‘myvideo’ should be opened. To do this, you can use the ‘open’ function in MATLAB.
Please find the edited part of the code below:
faceDetector = vision.CascadeObjectDetector;
% Open the VideoWriter object
open(myvideo);
% Read frame by frame
For more information on the ‘open’ function, refer to the following documentation:

카테고리

Help CenterFile Exchange에서 Tracking and Motion Estimation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by