『壹』 matlab能讀取什麼格式文件格式
1、用matlab讀取avi 視頻(只能讀一定壓縮各式的avi 電影,這是因為avi視頻文件的編碼
有很多,而matlab只支持部分編碼格式。可見
blog.csdn.net/IdoIwill/article/details/2125838) aviinfo('d:\abc.avi');
%顯示存在d 盤文件abc.avi 的信息,在matlab2010 版本中,該函數可以換成mmreader mov=aviread('abc:.avi'); %讀入電影abc.avi movie(mov); %放映電影
2、將avi視頻轉成圖片序列
mov=aviread('d:\abc.avi'); %讀入
Vframes=size(mov,2); %讀取視頻的幀數,mov 為1*1179 struct,struct就是第4點所介紹的 for i=1: Vframes
strtemp=strcat('d:\轉換的圖片\',int2str(i),'.','jpg'); %將每幀轉成.jpg 的圖片 imwrite(mov(i).cdata(:,:,), mov(i).colormap, strtemp); % 把圖像寫入磁碟 end
3、讀取avi視頻第index幀有三種使用方式(不適用於索引圖):
第一種:mov=aviread(filename); % 讀入視頻
frame=mov(index); %讀取avi 文件的第index 幀圖像; img = frame.cdata; % 讀取圖像的顏色信息
第二種:frame = aviread(filename, index); img = frame.cdata;
第三種:mov = aviread(filename); frame = mov.cdata; img = mov{index}; 例:%讀取第一幀圖像
mov = aviread('highwayI_raw.AVI'); frame=mov(index); imshow(frame.cdata);
4、讀取avi視頻第index幀圖像後,所儲存幀格式是一個結構體(struct),該結構體有兩個元素:cdata 和colormap
例:
frame = aviread('highwayI_raw.AVI', i);
frame.cdata 表示了一個數據數組,彩色圖像就是3 維的,灰度圖像就是2 維的。也就是相當於I=imread(『abc.jpg』)後的數組I
frame.colormap 見(help aviread)
%%%%%了解了以上四點,處理視頻文件就可以相當於圖像文件一樣處理了%%%%
5、將彩色圖像轉換為灰度圖像,很簡單:
frame = aviread('highwayI_raw.AVI', i);
f_gray = rgb2gray(frame.cdata); 這樣就可以將文件的第i幀轉換為灰度圖像。
6、 創建avi視頻文件
aviobj = avifile(filename)
aviobj = avifile(filename, 'Param1', Val1, 'Param2', Val2,...) 描述:
aviobj = avifile(filename) 創建一個AVI文件,其名稱為filename,AVI文件對象的所有屬性均取默認值。如果文件名中並不包含擴展名,則avifile為filename自動添加擴展名.avi。AVI是一種存儲聲音和圖像數據的文件格式。
avifile返回一個指向AVI文件對象aviobj的句柄,使用該對象在其他函數中可以引用該對象。AVI文件對象支持控制被創建的AVI文件的各方面屬性和方法。
aviobj = avifile(filename, 'Param1', Val1, 'Param2', Val2,...)使用指定的參數設置創建一個AVI文件。 參數說明表:
用戶也可以使用結構語法來設置AVI對象的屬性。Avifile對象的所有屬性名字和參數表中的名字一樣,並且要完整(除了keyframe這個參數)。例如,設定質量屬性為100可以使用如下的語法
格式:
aviobj = avifile('myavifile'); aviobj.quality = 100;
實例
這一實例顯示如何使用函數avifile創建AVI文件example.avi。 t = linspace(0,2.5*pi,40); fact = 10*sin(t); fig=figure;
aviobj = avifile('example.avi') [x,y,z] = peaks; for k=1:length(fact) h = surf(x,y,fact(k)*z); axis([-3 3 -3 3 -80 80]) axis off
caxis([-90 90]) F = getframe(fig);
aviobj = addframe(aviobj,F); end
close(fig)
aviobj = close(aviobj);
7、mmreader 類---創建一個視頻文件讀取對象
其實在 matlab2010 中,會建議採用mmreader、mmfileinfo等函數,如果使用aviread會出現警告如下:
Warning: AVIREAD will be removed in a future release. Use MMREADER instead. 這是由於aviread介面需要要求avi文件時沒有壓縮的,這回導致其應用受到很大的 具體的mmreader 類描述可見matlab的help,以下摘自一些重點: mmreader類 是為了創建一個讀取視頻文件的多媒體讀取對象 描述:
函數 mmreader可以讀取所有的多媒體文件,返回值為一個結構體;然後可以用read 函數進行讀取文件
mmreader 支持的文件格式由各個操作系統平台決定
Window: AVI(.avi)/MPEG-1(.mgp)Window Media Video(.wmv,.asf,.asx)
Macintosh: AVI(.avi)/MPEG-1(.mpg)/MPEG(.mp4,.m4v)/蘋果Quick Time movie(.mov) 以及被QuickTime在蘋果系統上所支持的視頻格式
Linux: 支持系統中所安裝的GStreamer 0.10 支持的視頻格式,包括AVI/Ogg Theora(.ogg)
mmreader創建視頻文件有兩種 obj = mmreader(filename);
obj = mmreader(filename, 『PropertyName』, 『PropertyValue』);
第一種只需提供(默認路徑名)+文件名,就可以返回一個視頻對象;使用第二種方法,可以設置屬性名以及屬性值
obj具有的屬性如下: BitsPerPixel (只讀) 視頻的每個像素的位數 Duration (只讀) 每秒的總長度 FrameRate (只讀) 每秒的幀率 Height (只讀) 視頻每幀圖像的高度 Name (只讀) 對象所對應的視頻文件名 NumberOfFrames (只讀) 視頻流中的總幀數 Path (只讀)視頻文件所在的路徑名 Tag 定義視頻對象的標簽(默認』』) Type (只讀) 對象的類名—mmreader UserData 給用戶自定義數據的區域 VideoFormat (只讀) 視頻文件壓縮格式 Width (只讀)視頻每幀圖像的寬度 通常obj對象配合read方法使用;read的使用方法如下: video = read(obj);
video = read(obj,index); 或 video = read(obj, [index1,index2])
其實第一種默認是read(obj, [1,inf]) 第一種方法讀入obj視頻對象的所有幀; 第二種方法讀入obj視頻對象的第index幀.
第一種方法返回的video對象是個4維數組,H-W-B-F H: 圖像幀的高度 W: 圖像幀的寬度 B: 圖像幀的顏色通道 F: 圖像幀的數目
第二種方法返回就是圖像幀的數據,灰度圖像返回二維數組,RGB24圖像返回三維數組。 讀取第一幀圖像例子如下
obj = mmreader('abc.avi'); video = read(obj); img = video(:,:,:1); imshow(img);
『貳』 matlab中如何打開fig文件
解決這個問題的方法如下:
1、首先找到需要打開的fig文件。
『叄』 求問怎麼用matlab打開格式為.dat的文件
你直接用matlab打開,悶梁或者open,然後命令load數據,螞做運可以在workspace裡面看導入的數據,然後用胡友plot命令畫圖
『肆』 如何打開MATLAB里的後綴名為mat的文件
你可以調用matlab的子程序庫,用c或fortan調用mat格式的數據。matopen 打開mat文件
matclose 關閉mat文件
magetfp 取得mat文件的c語言句柄
matGetArray 取得一個數組
具體內容看聯機文檔
『伍』 matlab可以打開什麼格式的文件
cmd窗口輸入-guide 打開如下窗口: 切換到已經存在的gui,點擊瀏覽便可打開fig文件,並能進行fig的修改編輯。
『陸』 MATLAB怎麼打開*.mat文件
mat是MATLAB的一個數據文件,可以通過雙擊直接導入。或者通過命令窗口輸入命令並寫入要導入的m文件。
三、解析不同
1、.m文件:.m文件的文件格式是私有的,不可以自己解析裡面的內容。
2、.mat文件:.mat文件的文件格式是公開的,可以自己解析裡面的內容。
『柒』 matlab 如何打開wav聲音文件
在matlab中,可以用wavread函數來打開wav格式的聲音文件。
wavread函數的用法如下:
1、y = wavread(filename)
% 輸入參數filename為指定載入的音頻文件名稱,為單引號引出的字元串形式。返回參數y% % 為所讀取的音頻數據樣本。當文件無擴展名時,系統自動附加擴展名.wav。
2、[y, Fs, nbits] = wavread(filename)
% 參數filename、y的定義同上,Fs為采樣頻率,nbits為文件中每個樣本的位元組數。
3、[...] = wavread(filename, N)
% 參數N為文件每個通道的前N個樣本。
4、[...] = wavread(filename,[N1 N2])
% 參數N1、N2為文件每個通道從N1到N2的樣本。
舉例說明如下:
[y,fs,nbits]= wavread('d:\shuisound.wav');
sound(x,fs,bits); % 播放聲音
% y就是音頻信號;
% fs是采樣頻率,比如說16000就是每秒16000次;
% nbit是采樣精度,比如說16就是指16位精度的采樣。
『捌』 matlab中m文件怎麼打開
1.第一步在我們的電腦上打開matlab,創建一個test.m文件。
2.第二步創建m文件之後,雙擊m文件喚汪,輸入代碼,點擊上面的運行。
3.第三步在命令行窗口可以看到m文件運行的結果,disp是將結果列印在命令行窗口。
4.第四步除開直接在編輯器中直接運行m文件,我們也可以直接在命令行窗口中輸入m文件名稱。
「m」是差鬧一種文件格式虛鏈罩,中文名為可執行的代碼文件,文件拓展名為「.m」。屬於Wolfram 語言中的程序包。
打開所需的包並手動評估其命令。通常,一個包提供的命令將被放入特殊的單元格中,根據您的首選項設置,Mathematica可能會在打開文件時對其進行評估;在這種情況下,您需要做的是打開 文件,使用「文件」菜單中的「打開...」命令。
並顯示詢問關於初始化單元格的對話框的「確定」,如果沒有這樣的對話框,可以使用「評估初始化 「命令」的「評估」子菜單中的「內核」菜單。
以上內容參考:網路-m文件格式