VideoReader Frame Extraction Artifacts and Inversion in MATLAB 2018a
1 次查看(过去 30 天)
显示 更早的评论
I am had an application running on MATLAB 2015aSP1 that I want to port over to MATLAB 2018. However, I am having an issue with VideoReader script. When I extract a frame from a .mov file using MATLAB 2015aSP1, I am able to acquire the frame.
However, when I run the same set of commands with MATLAB 2018, the extracted frame has artifacts and is inverted. I have posted the code below and attached images of the MATLAB 2015 and 2018 results.
ipPath = 'path ';
obj.FrameObj = VideoReader(ipPath);
obj.NumFrames = round(obj.FrameObj.Duration*obj.FrameObj.FrameRate);
obj.CurrentTime = zeros(obj.NumFrames,1);
obj.CurrFrameIdx = 1;
obj.FrameObj.CurrentTime = obj.CurrentTime(obj.CurrFrameIdx);
frame = readFrame(obj.FrameObj);
figure;imshow(frame)
2 个评论
Walter Roberson
2018-5-11
Which operating system are you using? You mention .mov, which hints it might be Mac, since .mov is QuickTime ?
采纳的回答
Reece Teramoto
2018-5-16
Hi Arjun,
The issue is likely due to this bug regarding the use of graphical hardware acceleration to perform video decoding on certain releases of MATLAB for some Windows systems:
Please try turning off hardware acceleration for video decoding by executing the following before reading in the video:
>> matlab.video.read.UseHardwareAcceleration('off')
As a reference, the following documentation explains the use of graphics hardware for decoding some video types on Windows:
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!