2014-11-02 126 views
0

我正在使用Matlab。現在,我正在做一個關於圖像處理的小項目。我想逐幀讀取視頻並查找每幀的亮度。救救我,請通過使用Matlab讀取每幀圖像並使用Matlab顯示圖像

Read video code : 

**它不能使用hasFrames ** 錯誤:未定義功能 'hasFrame' 類型 'VideoReader' 的輸入參數。

非常感謝。

+0

請發佈您以前遇到此錯誤的代碼。根據該錯誤消息確定什麼是錯誤是不可能的。 – rayryeng 2014-11-02 05:18:15

回答

3

MATLAB的VideoReader類沒有這樣的東西hasFrames

在MATLAB中有一個叫做hasFrame的函數:http://www.mathworks.com/help/matlab/ref/videoreader.hasframe.html,但它只存在於R2014bR2014b的文檔上週剛剛發佈,我過早地表示沒有一個函數叫做hasFrame,因爲我從來沒有見過我習慣的VideoReader類。我目前使用R2013a。查看MathWorks的該主題了解更多詳情:http://www.mathworks.com/matlabcentral/answers/157477-unable-to-read-and-playback-movie-file

由於您沒有MATLAB的最新版本,因此可能會出現此錯誤。如果要使用VideoReader類從視頻文件中讀取幀,請在從文件http://www.mathworks.com/help/matlab/ref/videoreader.readframe.html中讀入視頻後使用readFrame函數。請勿使用hasFrame。您始終可以檢查從readFrame返回的矩陣是否爲空,這可能表示您的視頻是否有可用的幀。

調用readFrame將爲您提供一個視頻框架,您可以在其中進行分析。你每次都會調用它來抓取視頻中的下一幀。

祝你好運!

+0

我認爲有一種方法稱爲['hasFrame'](http://www.mathworks.com/help/matlab/ref/videoreader.hasframe.html)。 – 2014-11-02 05:52:29

+1

@ ParagS.Chandakkar - 我的MATLAB發行版沒有'hasFrame'。它只存在於「R2014b」。我將修改我的帖子,但是我無法在MATLAB發行版中找到這個功能......這很可能是OP所發生的情況。 – rayryeng 2014-11-02 06:02:00

+0

非常感謝您的回答,rayryeng和Parag S. Chandakkar – Poppy 2014-11-02 09:43:53