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
-----------------------------------------------------------------
返回
乐山市|
舟曲县|
肇州县|
蛟河市|
天水市|
康保县|
海南省|
凤台县|
资讯
|
临沭县|
丰台区|
措美县|
彰武县|
广宁县|
马山县|
阿尔山市|
平塘县|
香港|
孝义市|
芒康县|
安图县|
清丰县|
西城区|
和顺县|
临沭县|
西平县|
阳山县|
温宿县|
大石桥市|
广昌县|
高唐县|
太康县|
许昌市|
凤阳县|
周宁县|
兰西县|
拜泉县|
鄂伦春自治旗|
涞源县|
芮城县|
河北省|