日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab中图像读写

發(fā)布時(shí)間:2025/3/15 循环神经网络 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab中图像读写 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一. 讀寫圖像文件

1. imread
imread函數(shù)用于讀入各種圖像文件,如:a=imread('e:/w01.tif')
注:計(jì)算機(jī)E盤上要有w01相應(yīng)的.tif文件。
2. imwrite
imwrite函數(shù)用于寫入圖像文件,如:imwrite(a,'e:/w02.tif',’tif’)
3. imfinfo
imfinfo函數(shù)用于讀取圖像文件的有關(guān)信息,如:imfinfo('e:/w01.tif')
二. 圖像的顯示
1. image
image函數(shù)是MATLAB提供的最原始的圖像顯示函數(shù)(主要彩色顯示圖象),如:
a=[1,2,3,4;4,5,6,7;8,9,10,11,12];
image(a);
2. imshow
imshow函數(shù)用于灰度圖像文件的顯示,如:
i=imread('e:/w01.tif');
imshow(i);
3. colorbar
colorbar函數(shù)用顯示圖像的顏色條。
通常,顏色映象進(jìn)行過(guò)調(diào)節(jié),把數(shù)據(jù)從最小擴(kuò)展到最大,也就是說(shuō)整個(gè)顏色映象都用于繪圖。有時(shí)也許想改變顏色使用的方法。函數(shù)caxis代表顏色軸,因?yàn)轭伾黾恿肆硪粋€(gè)維數(shù),它允許對(duì)數(shù)據(jù)范圍的一個(gè)子集使用整個(gè)顏色映象或者對(duì)數(shù)據(jù)的整個(gè)集合只使用當(dāng)前顏色映象的一部分。
?????? [cmin,cmax]=caxis返回映射到顏色映象中第一和最后輸入項(xiàng)的最小和最大的數(shù)據(jù)。它們通常被設(shè)成數(shù)據(jù)的最小值和最大值。比如,函數(shù)mesh(peaks) 會(huì)畫出函數(shù)peaks的網(wǎng)格圖,并把顏色軸caxis設(shè)為[-6.5466,8.0752],即Z的最小值和最大值。這些值之間的數(shù)據(jù)點(diǎn),使用從顏色映象中經(jīng)插值得到的顏色。如:
i=imread('e:/w01.tif');
imshow(i);
colorbar;
4 .figure
figure函數(shù)用于設(shè)定圖像顯示窗口,如:figure(1); /figure(2);
5.imagesc(a);?? caxis([-3 8]) ; colorbar;
標(biāo)尺標(biāo)度從-3,到8 顯示標(biāo)度尺。
三. 圖像的變換
1. fft2
fft2函數(shù)用于數(shù)字圖像的二維傅立葉變換,如:
i=imread('e:/w01.tif');
j=fft2(i);
2. ifft2
ifft2函數(shù)用于數(shù)字圖像的二維傅立葉反變換,如:
i=imread('e:/w01.tif');
j=fft2(i);
k=ifft2(j);
3. 利用fft2計(jì)算二維卷積
利用fft2函數(shù)可以計(jì)算二維卷積,如:
a=[8,1,6;3,5,7;4,9,2];
b=[1,1,1;1,1,1;1,1,1];
a(8,8)=0;
b(8,8)=0;
c=ifft2(fft2(a).*fft2(b));
c=c(1:5,1:5);
利用conv2(二維卷積函數(shù))校驗(yàn), 如:
a=[8,1,6;3,5,7;4,9,2];
b=[1,1,1;1,1,1;1,1,1];
c=conv2(a,b);
四. 模擬噪聲生成函數(shù)和預(yù)定義濾波器
1. imnoise
imnoise函數(shù)用于對(duì)圖像生成模擬噪聲,如:
i=imread('e:/w01.tif');
j=imnoise(i,'gaussian',0,0.02);%模擬高斯噪聲
2. fspecial
fspecial函數(shù)用于產(chǎn)生預(yù)定義濾波器,如:
h=fspecial('sobel');%sobel水平邊緣增強(qiáng)濾波器
h=fspecial('gaussian');%高斯低通濾波器
h=fspecial('laplacian');%拉普拉斯濾波器
h=fspecial('log');%高斯拉普拉斯(LoG)濾波器
h=fspecial('average');%均值濾波器
五. 圖像的增強(qiáng)
1. 直方圖
imhist函數(shù)用于數(shù)字圖像的直方圖顯示,如:
i=imread('e:/w01.tif');
imhist(i);
2. 直方圖均化
histeq函數(shù)用于數(shù)字圖像的直方圖均化,如:
i=imread('e:/w01.tif');
j=histeq(i);
3. 對(duì)比度調(diào)整
imadjust函數(shù)用于數(shù)字圖像的對(duì)比度調(diào)整,如:
i=imread('e:/w01.tif');
j=imadjust(i,[0.3,0.7],[]);
4. 對(duì)數(shù)變換
log函數(shù)用于數(shù)字圖像的對(duì)數(shù)變換,如:
i=imread('e:/w01.tif');
j=double(i);
k=log(j);
5. 基于卷積的圖像濾波函數(shù)
filter2函數(shù)用于圖像濾波,如:
i=imread('e:/w01.tif');
h=[1,2,1;0,0,0;-1,-2,-1];
j=filter2(h,i);
6. 線性濾波
利用二維卷積conv2濾波, 如:
i=imread('e:/w01.tif');
h=[1,1,1;1,1,1;1,1,1];
h=h/9;
j=conv2(i,h);
7. 中值濾波
medfilt2函數(shù)用于圖像的中值濾波,如:
i=imread('e:/w01.tif');
j=medfilt2(i);
8. 銳化
(1)利用Sobel算子銳化圖像, 如:
i=imread('e:/w01.tif');
h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子
j=filter2(h,i);
(2)利用拉氏算子銳化圖像, 如:
i=imread('e:/w01.tif');
j=double(i);
h=[0,1,0;1,-4,0;0,1,0];%拉氏算子
k=conv2(j,h,'same');
m=j-k;
六. 舉例
二維傅立葉變換和二維傅立葉反變換:
i=imread('e:/w01.tif');
figure(1);
imshow(i);
colorbar;
j=fft2(i);
k=fftshift(j);
figure(2);
l=log(abs(k));
imshow(l,[]);
colorbar
n=ifft2(j)/255;
figure(3);
imshow(n);
colorbar;

圖像的變換

1. 離散傅立葉變換的 Matlab 實(shí)現(xiàn)
?????? Matlab 函數(shù) fft、fft2 和 fftn 分別可以實(shí)現(xiàn)一維、二維和 N 維 DFT 算法;而函數(shù) ifft、ifft2 和 ifftn 則用來(lái)計(jì)算反 DFT 。這些函數(shù)的調(diào)用格式如下:
???????? A=fft(X,N,DIM)
?????? 其中,X 表示輸入圖像;N 表示采樣間隔點(diǎn),如果 X 小于該數(shù)值,那么 Matlab 將會(huì)對(duì) X 進(jìn)行零填充,否則將進(jìn)行截取,使之長(zhǎng)度為 N ;DIM 表示要進(jìn)行離散傅立葉變換。
???????? A=fft2(X,MROWS,NCOLS)
其中,MROWS 和 NCOLS 指定對(duì) X 進(jìn)行零填充后的 X 大小。
???????? A=fftn(X,SIZE)
其中,SIZE 是一個(gè)向量,它們每一個(gè)元素都將指定 X 相應(yīng)維進(jìn)行零填充后的長(zhǎng)度。
?????? 函數(shù) ifft、ifft2 和 ifftn的調(diào)用格式于對(duì)應(yīng)的離散傅立葉變換函數(shù)一致。
例子:圖像的二維傅立葉頻譜
% 讀入原始圖像
I=imread('lena.bmp');
imshow(I)
% 求離散傅立葉頻譜
J=fftshift(fft2(I));
figure;
imshow(log(abs(J)),[8,10])
2. 離散余弦變換的 Matlab 實(shí)現(xiàn)
2.1. dct2 函數(shù)
功能:二維 DCT 變換
格式:B=dct2(A)
???????? B=dct2(A,m,n)
???????? B=dct2(A,[m,n])
說(shuō)明:B=dct2(A) 計(jì)算 A 的 DCT 變換 B ,A 與 B 的大小相同;B=dct2(A,m,n) 和 B=dct2(A,[m,n]) 通過(guò)對(duì) A 補(bǔ) 0 或剪裁,使 B 的大小為 m×n。
2.2. dict2 函數(shù)
功能:DCT 反變換
格式:B=idct2(A)
???????? B=idct2(A,m,n)
???????? B=idct2(A,[m,n])
說(shuō)明:B=idct2(A) 計(jì)算 A 的 DCT 反變換 B ,A 與 B 的大小相同;B=idct2(A,m,n) 和 B=idct2(A,[m,n]) 通過(guò)對(duì) A 補(bǔ) 0 或剪裁,使 B 的大小為 m×n。
2.3. dctmtx函數(shù)
功能:計(jì)算 DCT 變換矩陣
格式:D=dctmtx(n)
說(shuō)明:D=dctmtx(n) 返回一個(gè) n×n 的 DCT 變換矩陣,輸出矩陣 D 為 double 類型。
3. 圖像小波變換的 Matlab 實(shí)現(xiàn)
3.1 一維小波變換的 Matlab 實(shí)現(xiàn)
(1) dwt 函數(shù)
功能:一維離散小波變換
格式:[cA,cD]=dwt(X,'wname')
???????? [cA,cD]=dwt(X,Lo_D,Hi_D)
說(shuō)明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函數(shù) 'wname' 對(duì)信號(hào) X 進(jìn)行分解,cA、cD 分別為近似分量和細(xì)節(jié)分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的濾波器組 Lo_D、Hi_D 對(duì)信號(hào)進(jìn)行分解。
(2) idwt 函數(shù)
功能:一維離散小波反變換
格式:X=idwt(cA,cD,'wname')
???????? X=idwt(cA,cD,Lo_R,Hi_R)
???????? X=idwt(cA,cD,'wname',L)
???????? X=idwt(cA,cD,Lo_R,Hi_R,L)
說(shuō)明:X=idwt(cA,cD,'wname') 由近似分量 cA 和細(xì)節(jié)分量 cD 經(jīng)小波反變換重構(gòu)原始信號(hào) X 。
???????? 'wname' 為所選的小波函數(shù)
???????? X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重構(gòu)濾波器 Lo_R 和 Hi_R 經(jīng)小波反變換重構(gòu)原始信號(hào) X 。
???????? X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信號(hào) X 中心附近的 L 個(gè)點(diǎn)。
3.2 二維小波變換的 Matlab 實(shí)現(xiàn)
?????????? 二維小波變換的函數(shù)
-------------------------------------------------
???? 函數(shù)名???????????????? 函數(shù)功能
---------------------------------------------------
???? dwt2???????????? 二維離散小波變換
?? wavedec2?????? 二維信號(hào)的多層小波分解
???? idwt2?????????? 二維離散小波反變換
?? waverec2???????? 二維信號(hào)的多層小波重構(gòu)
?? wrcoef2?????????? 由多層小波分解重構(gòu)某一層的分解信號(hào)
?? upcoef2?????????? 由多層小波分解重構(gòu)近似分量或細(xì)節(jié)分量
?? detcoef2???????? 提取二維信號(hào)小波分解的細(xì)節(jié)分量
?? appcoef2???????? 提取二維信號(hào)小波分解的近似分量
?? upwlev2???????? 二維小波分解的單層重構(gòu)
?? dwtpet2???????? 二維周期小波變換
?? idwtper2???????? 二維周期小波反變換
-------------------------------------------------------------
(1) wcodemat 函數(shù)
功能:對(duì)數(shù)據(jù)矩陣進(jìn)行偽彩色編碼
格式:Y=wcodemat(X,NB,OPT,ABSOL)
???????? Y=wcodemat(X,NB,OPT)
???????? Y=wcodemat(X,NB)
???????? Y=wcodemat(X)
說(shuō)明:Y=wcodemat(X,NB,OPT,ABSOL) 返回?cái)?shù)據(jù)矩陣 X 的編碼矩陣 Y ;NB 偽編碼的最大值,即編碼范圍為 0~NB,缺省值 NB=16;
?????? OPT 指定了編碼的方式(缺省值為 'mat'),即:
???????????????? OPT='row' ,按行編碼
???????????????? OPT='col' ,按列編碼
???????????????? OPT='mat' ,按整個(gè)矩陣編碼
?????? ABSOL 是函數(shù)的控制參數(shù)(缺省值為 '1'),即:
???????????????? ABSOL=0 時(shí),返回編碼矩陣
???????????????? ABSOL=1 時(shí),返回?cái)?shù)據(jù)矩陣的絕對(duì)值 ABS(X)
(2) dwt2 函數(shù)
功能:二維離散小波變換
格式:[cA,cH,cV,cD]=dwt2(X,'wname')
???????? [cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)
說(shuō)明:[cA,cH,cV,cD]=dwt2(X,'wname')使用指定的小波基函數(shù) 'wname' 對(duì)二維信號(hào) X 進(jìn)行二維離散小波變幻;cA,cH,cV,cD 分別為近似分量、水平細(xì)節(jié)分量、垂直細(xì)節(jié)分量和對(duì)角細(xì)節(jié)分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通濾波器 Lo_D 和 Hi_D 分解信號(hào) X 。
(3) wavedec2 函數(shù)
功能:二維信號(hào)的多層小波分解
格式:[C,S]=wavedec2(X,N,'wname')
???????? [C,S]=wavedec2(X,N,Lo_D,Hi_D)
說(shuō)明:[C,S]=wavedec2(X,N,'wname') 使用小波基函數(shù) 'wname' 對(duì)二維信號(hào) X 進(jìn)行 N 層分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D) 使用指定的分解低通和高通濾波器 Lo_D 和 Hi_D 分解信號(hào) X 。
(4) idwt2 函數(shù)
功能:二維離散小波反變換
格式:X=idwt2(cA,cH,cV,cD,'wname')
???????? X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)
???????? X=idwt2(cA,cH,cV,cD,'wname',S)
???????? X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)
說(shuō)明:X=idwt2(cA,cH,cV,cD,'wname') 由信號(hào)小波分解的近似信號(hào) cA 和細(xì)節(jié)信號(hào) cH、cH、cV、cD 經(jīng)小波反變換重構(gòu)原信號(hào) X ;X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R) 使用指定的重構(gòu)低通和高通濾波器 Lo_R 和 Hi_R 重構(gòu)原信號(hào) X ;X=idwt2(cA,cH,cV,cD,'wname',S) 和 X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S) 返回中心附近的 S 個(gè)數(shù)據(jù)點(diǎn)。
(5) waverec2 函數(shù)
說(shuō)明:二維信號(hào)的多層小波重構(gòu)
格式:X=waverec2(C,S,'wname')
???????? X=waverec2(C,S,Lo_R,Hi_R)
說(shuō)明:X=waverec2(C,S,'wname') 由多層二維小波分解的結(jié)果 C、S 重構(gòu)原始信號(hào) X ,'wname' 為使用的小波基函數(shù);X=waverec2(C,S,Lo_R,Hi_R) 使用重構(gòu)低通和高通濾波器 Lo_R 和 Hi_R 重構(gòu)原信號(hào)。
圖像處理工具箱1. 圖像和圖像數(shù)據(jù)
?? 缺省情況下,MATLAB將圖像中的數(shù)據(jù)存儲(chǔ)為雙精度類型(double),64位浮點(diǎn)
數(shù),所需存儲(chǔ)量很大;MATLAB還支持另一種類型無(wú)符號(hào)整型(uint8),即圖像矩
陣中每個(gè)數(shù)據(jù)占用1個(gè)字節(jié)。
?? 在使用MATLAB工具箱時(shí),一定要注意函數(shù)所要求的參數(shù)類型。另外,uint8
與double兩種類型數(shù)據(jù)的值域不同,編程需注意值域轉(zhuǎn)換。
?????????? 從uint8到double的轉(zhuǎn)換
?? ---------------------------------------------
?????? 圖像類型???????? MATLAB語(yǔ)句
?? ---------------------------------------------
???? 索引色???????????? B=double(A)+1
???? 索引色或真彩色 B=double(A)/255
???? 二值圖像?????????? B=double(A)
?? ---------------------------------------------
???????? 從double到uint8的轉(zhuǎn)換
?? ---------------------------------------------
?????? 圖像類型???????? MATLAB語(yǔ)句
?? ---------------------------------------------
???? 索引色?????????????? B=uint8(round(A-1))
???? 索引色或真彩色???? B=uint8(round(A*255))
???? 二值圖像???????????? B=logical(uint8(round(A)))
?? ---------------------------------------------
2. 圖像處理工具箱所支持的圖像類型
2.1 真彩色圖像
???? R、G、B三個(gè)分量表示一個(gè)像素的顏色。如果要讀取圖像中(100,50)處的像素值,
可查看三元數(shù)據(jù)(100,50,1:3)。
???? 真彩色圖像可用雙精度存儲(chǔ),亮度值范圍是[0,1];比較符合習(xí)慣的存儲(chǔ)方法是用無(wú)
符號(hào)整型存儲(chǔ),亮度值范圍[0,255]
2.2 索引色圖像
?? 包含兩個(gè)結(jié)構(gòu),一個(gè)是調(diào)色板,另一個(gè)是圖像數(shù)據(jù)矩陣。調(diào)色板是一個(gè)有3列和若干行
的色彩映象矩陣,矩陣每行代表一種顏色,3列分別代表紅、綠、藍(lán)色強(qiáng)度的雙精度數(shù)。
?? 注意:MATLAB中調(diào)色板色彩強(qiáng)度[0,1],0代表最暗,1代表最亮。
?????????? 常用顏色的RGB值
?? --------------------------------------------
???? 顏色???? R?? G?? B?????? 顏色???? R?? G?? B
?? --------------------------------------------
???? 黑???? 0?? 0?? 1?????? 洋紅???? 1?? 0?? 1
???? 白???? 1?? 1?? 1?????? 青藍(lán)???? 0?? 1?? 1
???? 紅???? 1?? 0?? 0?????? 天藍(lán) 0.67 0?? 1
???? 綠???? 0?? 1?? 0?????? 橘黃???? 1 0.5 0
???? 藍(lán)???? 0?? 0?? 1?????? 深紅?? 0.5 0?? 0
???? 黃???? 1?? 1?? 0?????? 灰???? 0.5 0.5 0.5??????
?? --------------------------------------------
???????? 產(chǎn)生標(biāo)準(zhǔn)調(diào)色板的函數(shù)
?? -------------------------------------------------
???? 函數(shù)名?????? 調(diào)色板
?? -------------------------------------------------
???? Hsv?????? 色彩飽和度,以紅色開(kāi)始,并以紅色結(jié)束
???? Hot?????? 黑色-紅色-黃色-白色
???? Cool?????? 青藍(lán)和洋紅的色度
???? Pink?????? 粉紅的色度
???? Gray?????? 線型灰度
???? Bone?????? 帶藍(lán)色的灰度
???? Jet???????? Hsv的一種變形,以藍(lán)色開(kāi)始,以藍(lán)色結(jié)束
???? Copper???? 線型銅色度
???? Prim?????? 三棱鏡,交替為紅、橘黃、黃、綠和天藍(lán)
???? Flag?????? 交替為紅、白、藍(lán)和黑
--------------------------------------------------
?? 缺省情況下,調(diào)用上述函數(shù)灰產(chǎn)生一個(gè)64×3的調(diào)色板,用戶也可指定調(diào)色板大小。
?? 索引色圖像數(shù)據(jù)也有double和uint8兩種類型。
?? 當(dāng)圖像數(shù)據(jù)為double類型時(shí),值1代表調(diào)色板中的第1行,值2代表第2行……
?? 如果圖像數(shù)據(jù)為uint8類型,0代表調(diào)色板的第一行,,值1代表第2行……
2.3 灰度圖像
?? 存儲(chǔ)灰度圖像只需要一個(gè)數(shù)據(jù)矩陣。
?? 數(shù)據(jù)類型可以是double,[0,1];也可以是uint8,[0,255]
2.4 二值圖像
?? 二值圖像只需一個(gè)數(shù)據(jù)矩陣,每個(gè)像素只有兩個(gè)灰度值,可以采用uint8或double類型存儲(chǔ)。
?? MATLAB工具箱中以二值圖像作為返回結(jié)果的函數(shù)都使用uint8類型。
2.5 圖像序列
?? MATLAB工具箱支持將多幀圖像連接成圖像序列。
?? 圖像序列是一個(gè)4維數(shù)組,圖像幀的序號(hào)在圖像的長(zhǎng)、寬、顏色深度之后構(gòu)成第4維。
?? 分散的圖像也可以合并成圖像序列,前提是各圖像尺寸必須相同,若是索引色圖像,
調(diào)色板也必須相同。
?? 可參考cat()函數(shù)???? A=cat(4,A1,A2,A3,A4,A5)
3. MATLAB圖像類型轉(zhuǎn)換
???????? 圖像類型轉(zhuǎn)換函數(shù)
?? ---------------------------------------------------------------------------
???? 函數(shù)名?????????????????????? 函數(shù)功能
?? ---------------------------------------------------------------------------
???? dither?????? 圖像抖動(dòng),將灰度圖變成二值圖,或?qū)⒄娌噬珗D像抖動(dòng)成索引色圖像
???? gray2ind???? 將灰度圖像轉(zhuǎn)換成索引圖像
???? grayslice???? 通過(guò)設(shè)定閾值將灰度圖像轉(zhuǎn)換成索引色圖像
???? im2bw?????? 通過(guò)設(shè)定亮度閾值將真彩色、索引色、灰度圖轉(zhuǎn)換成二值圖
???? ind2gray???? 將索引色圖像轉(zhuǎn)換成灰度圖像
???? ind2rgb?????? 將索引色圖像轉(zhuǎn)換成真彩色圖像
???? mat2gray?? 將一個(gè)數(shù)據(jù)矩陣轉(zhuǎn)換成一副灰度圖
???? rgb2gray???? 將一副真彩色圖像轉(zhuǎn)換成灰度圖像
???? rgb2ind?????? 將真彩色圖像轉(zhuǎn)換成索引色圖像
?? ----------------------------------------------------------------------------
4. 圖像文件的讀寫和查詢
4.1 圖形圖像文件的讀取
?? 利用函數(shù)imread()可完成圖形圖像文件的讀取,語(yǔ)法:
???? A=imread(filename,fmt)
???? [X,map]=imread(filename,fmt)
???? [...]=imread(filename)
???? [...]=imread(filename,idx) (只對(duì)TIF格式的文件)
???? [...]=imread(filename,ref) (只對(duì)HDF格式的文件)
?? 通常,讀取的大多數(shù)圖像均為8bit,當(dāng)這些圖像加載到內(nèi)存中時(shí),Matlab就將其存放
在類uint8中。此為Matlab還支持16bit的PNG和TIF圖像,當(dāng)讀取這類文件時(shí),Matlab就將
其存貯在uint16中。
?? 注意:對(duì)于索引圖像,即使圖像陣列的本身為類uint8或類uint16,imread函數(shù)仍將
顏色映象表讀取并存貯到一個(gè)雙精度的浮點(diǎn)類型的陣列中。
4.2 圖形圖像文件的寫入
?? 使用imwrite函數(shù),語(yǔ)法如下:
?? imwrite(A,filename,fmt)
?? imwrite(X,map,filename,fmt)
?? imwrite(...,filename)
?? imwrite(...,parameter,value)
?? 當(dāng)利用imwrite函數(shù)保存圖像時(shí),Matlab缺省的方式是將其簡(jiǎn)化道uint8的數(shù)據(jù)格式。
4.3 圖形圖像文件信息的查詢?? imfinfo()函數(shù)
5. 圖像文件的顯示
5.1 索引圖像及其顯示
?? 方法一:
?????????? image(X)
?????????? colormap(map)
?? 方法二:
?????????? imshow(X,map)
5.2 灰度圖像及其顯示
?? Matlab 7.0 中,要顯示一副灰度圖像,可以調(diào)用函數(shù) imshow 或 imagesc (即
imagescale,圖像縮放函數(shù))
?? (1) imshow 函數(shù)顯示灰度圖像
???? 使用 imshow(I)???? 或 使用明確指定的灰度級(jí)書目:imshow(I,32)
???? 由于Matlab自動(dòng)對(duì)灰度圖像進(jìn)行標(biāo)度以適合調(diào)色板的范圍,因而可以使用自定義
大小的調(diào)色板。其調(diào)用格式如下:
?????????? imshow(I,[low,high])
???? 其中,low 和 high 分別為數(shù)據(jù)數(shù)組的最小值和最大值。
?? (2) imagesc 函數(shù)顯示灰度圖像
?? 下面的代碼是具有兩個(gè)輸入?yún)?shù)的 imagesc 函數(shù)顯示一副灰度圖像
?????? imagesc(1,[0,1]);
?????? colormap(gray);
???? imagesc 函數(shù)中的第二個(gè)參數(shù)確定灰度范圍。灰度范圍中的第一個(gè)值(通常是0),
對(duì)應(yīng)于顏色映象表中的第一個(gè)值(顏色),第二個(gè)值(通常是1)則對(duì)應(yīng)與顏色映象表
中的最后一個(gè)值(顏色)。灰度范圍中間的值則線型對(duì)應(yīng)與顏色映象表中剩余的值(顏色)。
???? 在調(diào)用 imagesc 函數(shù)時(shí),若只使用一個(gè)參數(shù),可以用任意灰度范圍顯示圖像。在該
調(diào)用方式下,數(shù)據(jù)矩陣中的最小值對(duì)應(yīng)于顏色映象表中的第一個(gè)顏色值,數(shù)據(jù)矩陣中的最大
值對(duì)應(yīng)于顏色映象表中的最后一個(gè)顏色值。
5.3 RGB 圖像及其顯示
?? (1) image(RGB)
?? 不管RGB圖像的類型是double浮點(diǎn)型,還是 uint8 或 uint16 無(wú)符號(hào)整數(shù)型,Matlab都
能通過(guò) image 函數(shù)將其正確顯示出來(lái)。
?? RGB8 = uint8(round(RGB64×255)); % 將 double 浮點(diǎn)型轉(zhuǎn)換為 uint8 無(wú)符號(hào)整型
?? RGB64 = double(RGB8)/255;???????????? % 將 uint8 無(wú)符號(hào)整型轉(zhuǎn)換為 double 浮點(diǎn)型
?? RGB16 = uint16(round(RGB64×65535)); % 將 double 浮點(diǎn)型轉(zhuǎn)換為 uint16 無(wú)符號(hào)整型
?? RGB64 = double(RGB16)/65535;?????? % 將 uint16 無(wú)符號(hào)整型轉(zhuǎn)換為 double 浮點(diǎn)型
?? (2) imshow(RGB) 參數(shù)是一個(gè) m×n×3 的數(shù)組
5.4 二進(jìn)制圖像及其顯示
?? (1) imshow(BW)
?? 在 Matlab 7.0 中,二進(jìn)制圖像是一個(gè)邏輯類,僅包括 0 和 1 兩個(gè)數(shù)值。像素 0 顯示
為黑色,像素 1 顯示為白色。
?? 顯示時(shí),也可通過(guò)NOT(~)命令,對(duì)二進(jìn)制圖象進(jìn)行取反,使數(shù)值 0 顯示為白色;1 顯示
為黑色。
?? 例如: imshow(~BW)
?? (2) 此外,還可以使用一個(gè)調(diào)色板顯示一副二進(jìn)制圖像。如果圖形是 uint8 數(shù)據(jù)類型,
則數(shù)值 0 顯示為調(diào)色板的第一個(gè)顏色,數(shù)值 1 顯示為第二個(gè)顏色。
?? 例如: imshow(BW,[1 0 0;0 0 1])??
5.5 直接從磁盤顯示圖像
?? 可使用一下命令直接進(jìn)行圖像文件的顯示:
???????? imshow filename
?? 其中,filename 為要顯示的圖像文件的文件名。
?? 如果圖像是多幀的,那么 imshow 將僅顯示第一幀。但需注意,在使用這種方式時(shí),圖像
數(shù)據(jù)沒(méi)有保存在Matlab 7.0 工作平臺(tái)。如果希望將圖像裝入工作臺(tái)中,需使用 getimage 函
數(shù),從當(dāng)前的句柄圖形圖像對(duì)象中獲取圖像數(shù)據(jù),
?? 命令形式為: rgb = getimage;

總結(jié)

以上是生活随笔為你收集整理的matlab中图像读写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。