Я пытаюсь выяснить, как использовать cdata под функцией Movie в MATLAB. Может ли какой-нибудь эксперт дать мне краткое объяснение? Спасибо!Может ли кто-нибудь объяснить функцию фильма и cdata в MATLAB?
ответ
Как вы можете найти в функции MOVIE documentation, он воспроизводит фильм, который на самом деле представляет собой массив кадров. В свою очередь, рамка представляет собой одиночный «снимок» или неподвижное изображение, представленное в MATLAB структурой с полями cdata (матрица пиксельных данных) и цветовой схемой (если используется).
Вы можете создать рамку с текущего рисунка с помощью функции GETFRAME: F = getframe;
. F.cdata
будет матрицей изображений H x W x 3, с 3-м измерением, представляющей 3 цветовых канала - красный, зеленый и синий. Вы можете показать его командой image(F.cdata)
.
Если M
- это кинокадры, вы можете показать только первый кадр с image(M(1).cdata)
.
Я бы порекомендовал вас сыграть с примерами на страницах справки MOVIE и GETFRAME, чтобы лучше понять.
Hi yuk. Спасибо за ваше объяснение. Это было совершенно ясно. Но мне здесь немного сложно. Как показать содержимое cdata, чтобы я мог делать дальнейшие манипуляции? – view
Не достаточно ли вам 'image' или' imshow'? Или объясните, что вы имеете в виду «показать контент»? – yuk
в порядке. Я пытаюсь использовать функцию фильма для чтения видеоролика yuv и хранения данных. Как вы думаете, будет ли работать следующая часть программы: k = 1: nFrames mov (l) .cdata = loadFileYuv (...) end function loadFileYuv можно найти здесь http://stackoverflow.com/questions/3887494/how-to-extract-yu-and-v-components-from-a-given-yuv-file-using-matlab-each-com – view