MATLAB練習例子三(讀寫文件)
返回
》 fwriteid = fopen('magic5.bin','w');
》 whos
Name Size Bytes Class
fwriteid 1x1 8 double array
Grand total is 1 elements using 8 bytes
》 count = fwrite(fwriteid,magic(5),'int32');
》 status = fclose(fwriteid);
》 whos
Name Size Bytes Class
count 1x1 8 double array
fwriteid 1x1 8 double array
status 1x1 8 double array
Grand total is 3 elements using 24 bytes
》 magic(5)
ans =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
》
magic(5)的16進制顯示
讀binary數(shù)據(jù)文件
》 fid = fopen('datag.dat','r');
》 A = fread(fid);
》 A
A =
8
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
》
》 imread ex1.jpg
》 whos
Name Size Bytes Class
ans 923x1209x3 3347721 uint8 array
Grand total is 3347721 elements using 3347721 bytes
》 imfinfo ex1.jpg
ans =
Filename: 'ex1.jpg'
FileModDate: '04-Oct-2007 16:24:54'
FileSize: 150320
Format: 'jpg'
FormatVersion: ''
Width: 1209
Height: 923
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
寫入ex1.bmp文件
》 imwrite(ans,'ex1.bmp','BMP')
》 help imread
IMREAD グラフィックスファイルからイメージを読み込みます
A = IMREAD(FILENAME,FMT)は、FILENAME內のイメージを、Aに読み
込みます。クラスはuint8です。
ファイルがグレイスケール強度イメージを含む場合、Aは2次元配列です。
ファイルがトゥルーカラー(RGB)イメージを含む場合、Aは3次元(M*N*3)
配列です。FILENAMEは、グラフィックスファイル名を指定する文字列で、
FMTはファイルの書式を指定する文字列です。
ファイルは、カレントのディレクトリ、またはMATLABパス上のディレクトリ
になければなりません。
IMREADがファイルFILENAMEを見つけられない場合は、FILENAME.FMT
を探します。
FMTの取りうる値を以下に示します。
'bmp' Windows Bitmap (BMP)
'hdf' Hierarchical Data Format (HDF)
'jpg' または'jpeg' Joint Photographic Experts Group (JPEG)
'pcx' Windows Paintbrush (PCX)
'tif' または'tiff' Tagged Image File Format (TIFF)
'xwd' X Window Dump (XWD)
[X,MAP] = IMREAD(FILENAME,FMT)は、FILENAMEのインデックス付き
イメージをXに読み込み、対応するカラーマップをMAPに読み込みます。
Xは、クラスuint8で、MAPはクラスdoubleです。カラーマップの値は、読み
込まれたときに、範囲[0,1]に再スケーリングされます。
[...] = IMREAD(FILENAME)は、その內容からファイルの書式を推測します。
[...] = IMREAD(...,IDX)は、複數(shù)のイメージをもつTIFFファイルから、1つ
のイメージを読み込みます。IDXは、ファイル內のイメージの順番を指定
する整數(shù)値です。 たとえば、IDXが3ならば、IMREADは、ファイルの3番
目のイメージを読み込みます。この引數(shù)を省略すると、IMREADはファイ
ルの1番目のイメージを読み込みます。
[...] = IMREAD(...,REF)は、複數(shù)のイメージをもつHDFファイルから、1つ
のイメージを読み込みます。REFは、イメージを識別するために使う參照
番號を指定する整數(shù)値です。たとえば、REFが12ならば、IMREADは參照
番號が12のイメージを読み込みます(HDFファイルでは、參照番號はファ
イル內のイメージの順序と対応させる必要はありません。參照番號をイ
メージの順番を一致させるためには、IMFINFOを使うことができます)。
この引數(shù)を省略すると、IMREADは、ファイルの1番目のイメージを読み込
みます。
つぎの表に、IMREADが読み込むことができるイメージのタイプをまとめて
示します。
BMP 1ビット、4ビット、8ビット、24ビットの圧縮されていないイメージ。
4ビットと8ビットの実行長エンコード(RLE)イメージ。
HDF 関連するカラーマップをもつ、あるいはもたない8ビットのラスター
イメージデータセット。24ビットラスターイメージデータセット。
JPEG 任意のベースラインのJPEGイメージ。一般的に使われる拡張付
きのJPEGイメージ
PCX 1ビット、8ビット、24ビットのイメージ。
TIFF 1ビット、8ビット、24ビットの圧縮されていないイメージを含む任意
のベースラインのTIFFイメージ。
packbit圧縮の1ビット、8ビット、24ビットイメージ。
CCITT圧縮の1ビットイメージ。
XWD 1ビットと8ビットのZpixmaps。XYBitmaps。1ビットのXYPixmaps。
參考 IMFINFO, IMWRITE, FREAD、IMAGE, DOUBLE, UINT8.
Exporting ASCII data
》 A = [ 1 2 3 4 ; 5 6 7 8 ];
》 A
A =
1 2 3 4
5 6 7 8
》 save test_data.out A -ASCII
test_data.out
1.0000000e+000 2.0000000e+000 3.0000000e+000 4.0000000e+000
5.0000000e+000 6.0000000e+000 7.0000000e+000 8.0000000e+000
》 dlmwrite('test_data.out',A,';')
1;2;3;4
5;6;7;8
》 diary test_data.out
》 A
A =
1 2 3 4
5 6 7 8
》 diary off
mydata.dat
Sally Type1 12.34 45 Yes
Larry Type2 34.56 54 Yes
Tommy Type1 12.34 23 No
》 [names,types,x,y,answer] = textread('mydata.dat','%s %s %f %d %s');
》 names
names =
'Sally'
'Larry'
'Tommy'
》 types
types =
'Type1'
'Type2'
'Type1'
》 x
x =
12.3400
34.5600
12.3400
》 y
y =
45
54
23
》 answer
answer =
'Yes'
'Yes'
'No'
》
-----------------------------------------
grades.txt
85 90 95
90 92 98
100 95 97
77 87 93
》 load grades.txt
》 grades
grades =
85 90 95
90 92 98
100 95 97
77 87 93
》 whos
Name Size Bytes Class
grades 4x3 96 double array
Grand total is 12 elements using 96 bytes
-----------------------------------------------------------------
返回
河间市|
张掖市|
常熟市|
婺源县|
兰考县|
闽清县|
特克斯县|
霍邱县|
太白县|
陇南市|
建湖县|
宝丰县|
湘潭市|
武冈市|
平塘县|
介休市|
大宁县|
灵石县|
海淀区|
福贡县|
海丰县|
江山市|
霍林郭勒市|
乐平市|
仙游县|
邳州市|
道真|
龙州县|
綦江县|
武宁县|
石狮市|
策勒县|
西乌|
秀山|
宁都县|
嘉荫县|
茶陵县|
武邑县|
饶河县|
东海县|
蒲江县|