歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Matlab 處理avi視頻文件為單幀任意大小圖片

Matlab 處理avi視頻文件為單幀任意大小圖片

主要是imresize()這個函數的用法。

上代碼:

clc;
clear;
video=mmreader('D:\videotest\Video 1.avi');
nFrames = video.NumberOfFrames;  %得到幀數
H = video.Height;                %得到高度
W = video.Width;                  %得到寬度
Rate = video.FrameRate;
% Preallocate movie structure.
mov(1:nFrames) = struct('cdata',zeros(H,W,3,'uint8'),'colormap',[]);


%獲取每一幀
for i = 1:nFrames
    mov(i).cdata = read(video,i);
    P = mov(i).cdata;

    %imresize() []中格式要求:[高 寬]

    Q = imresize(P,[720 960]);
    disp('當前播幀數:'),disp(i);
    imshow(P),title('原始圖片');%顯示原始圖片
   
    if i<10
    imwrite(Q,strcat('0000',int2str(i),'.jpg'),'jpg');%寫入文件中
    else if i>=10 & i<100
    imwrite(Q,strcat('000',int2str(i),'.jpg'),'jpg');
    else
    imwrite(Q,strcat('00',int2str(i),'.jpg'),'jpg');
        end
    end
end

Ubuntu Server上安裝Matlab http://www.linuxidc.com/Linux/2014-09/106242.htm

Matlab與C/C++聯合編程之從Matlab調用C/C++代碼 http://www.linuxidc.com/Linux/2012-08/68148.htm

二分類SVM方法Matlab實現 http://www.linuxidc.com/Linux/2013-05/84050.htm

Matlab中的取整函數fix, floor, ceil與round http://www.linuxidc.com/Linux/2013-10/91161.htm

Matlab編譯cuda的.cu文件 http://www.linuxidc.com/Linux/2014-04/100675.htm

Linux Matlab服務器進一步改造成Application Server(應用程序服務器) http://www.linuxidc.com/Linux/2014-09/106340.htm

Copyright © Linux教程網 All Rights Reserved