matlab基本操作總結


1、clear;//清除工作平台變量
2、close all;//關閉打開的圖形窗口
3、I = imread('C:\Users\dell\Desktop\rice.jpg');//讀取圖像,存儲在I數組中
4、imshow(I);//顯示數組I
5、whos//查看圖片如何存儲在內存
6、figure,imhist(I);//在新窗口中顯示圖像的灰度分布直方圖(hist直方圖)
7、I2 = histeq(I);//實現直方圖均衡化
8、imwrite(gray,'C:\Users\dell\Desktop\rice2.jpg');//將數組gray中的圖片保存在路徑中
9、imfinfo('C:\Users\dell\Desktop\rice2.jpg');//檢查文件內容
10、 gray = rgb2gray(I);將RGB三通道圖像轉化為灰度圖
11、 r = I(:,:,1);獲取I數組中圖像的紅色分量(即一個通道)
12、 r = I(:,:,2);獲取I數組中圖像的綠色分量
13、 background = imopen(I,strel('disk',75));//估計圖像背景(半徑為75的圓盤結構元素)
>> I2 = imsubtract(I,background);//減去背景圖像,創建背景一致的圖像
14、 I3 = imadjust(I2);
>> I3 = imadjust(I2,stretchlim(I2),[0 1]);//調節對比度,使圖像變量
15、 level = graythresh(I3);//閾值操作
>> bw = im2bw(I3,level);//轉換為2值圖像
>> figure,imshow(bw);
使用最大類間方差法找到圖片的一個合適的閾值(threshold)。
在使用im2bw函數將灰度圖像轉換為二值圖像時,需要設定一個閾值,
這個函數可以幫助我們獲得一個合適的閾值。
16、[labeled,numobjects] = bwlabel(bw,4)//返回二值圖像bw的對象個數
17、max(allgrains)//最大值
18、mean(allgrains)//均值
19、biggrain = find(allgrains == 695)//查找尺寸為695的對象,返回對象標記
20、graindata = regionprops(labeled,'basic')//返回對象屬性到一個結構體數組中
21、allgrains = [graindata.Area];//得到尺寸屬性
22、subplot(2,2,1);//4幅圖中顯示第一幅
23、ones(a,b);//產生a*b的全1矩陣
24、subplot(3,2,5),imshow(s,[]);//[]色度拉伸,將最大值設為hight;
不加,默認1最大,0最小
25、H = fspecial(‘sobel’);//建立預定義的濾波算子,sobel算子

psf = fspecial('motion',len,theta);//為運動模糊算子,有兩個參數,
表示攝像物體逆時針方向以theta角度運動了len個像素,
len的默認值為9,theta的默認值為0;

H = FSPECIAL('disk',RADIUS);//為圓形區域均值濾波,disk 圓形
參數為radius代表區域半徑,默認值為5.

26、J = conv2(I,h,'same')//空間的卷積相當於頻域的乘積。 可以用來提取邊緣,
如利用sobel 拉普拉斯算子等,這種相當於頻域中的高通濾波器。
還有可以濾除噪聲,相當於頻域中低通濾波器。h為矩陣
27、F = fft2(noisy);
>> fftshift(F);// fftshift的作用正是讓正半軸部分和負半軸部分的圖像
分別關於各自的中心對稱。因為直接用fft得出的數據與頻率不是對應的,
fftshift可以糾正過來 (ifft2傅里葉逆變換)
28、imfilter 可進行多維圖像(RGB等)進行空間濾波,且可選參數較多
filter2 只能對二維圖像(灰度圖)進行空間濾波
29、l= i(10+[1:255],222+[1:255],:);
29、noise3 = imadd(I,im2uint8(noise2));noise2 = 0.1*randn(size(I));
//在原圖添加隨機噪聲
30、IM2 = imcomplement(IM) //對圖像數據進行取反運算(實現底片效果)。
31、i = im2bw(ic,graythresh(ic)) //使用最大類間方差法找到圖片的一個合適的閾值(threshold)
32、SE = strel(shape, parameters);//構造結構元素(Structuring element)。
所謂結構元素, 可以看做是一張小圖像, 它通常用於圖像的形態學運算
(如膨脹、腐蝕、開運算、閉運算)。
33、imclose();平滑邊界,連接短的間隙,填充小孔
34、imopen//開運算屬於形態學圖像處理,是先腐蝕后膨脹,
作用是:切斷細長的搭線,消除圖像邊緣的毛刺和孤立點,平滑圖像邊界
35、full();//把稀疏矩陣轉換為群矩陣
36、eye(n);//返回n*n單位矩陣
37、inf 無窮大
38、floor();//返回小於等於參數的數值
39、ceil();//返回大於等於參數的數值
40、'truesize' 就是按圖片實際大小顯示圖片,窗口會自動調節大小去適應圖片尺寸。
這個是默認情況,跟省略這個參數一樣。
‘notruesize' 就是圖片去適應窗口,窗口大小不動,自動調節圖片大小。
41、hot();是一種從黑到紅到黃再到白的漸變的colormap
42、 imcrop 函數功能: 在MATLAB中,該函數用於返回圖像的一個裁剪區域。
43、surf(x,y,z)繪制三維曲面的網格圖
mesh(x,y,z):繪制三維曲面表面圖
44、strel('disk',15);構造結構元素
45、i = i(10+[1:256],222+[1:256],:);//顯示圖像局部
46、 stretchlim(i2)//獲取灰度范圍
47、cat(Concatenate的縮寫)是matlab中的一個函數,用於連結數組,cat(dim,A,B)。
48、line([x1 x2], [y1 y2],'color','r');在原圖中划線
49、 plot(x,y,'*','color','g');新建窗口符號,若要在原圖畫,可在前面加hold on;
50、text(P_x,P_y,'黑色','color','b');
51、[b,c]=find(Ir<10)
52、im=imread([int2str(b),'.bmp']);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
double 就是簡單地把一個變量類型轉換成double類型,數值大小不變;

比如 a=6 是個unit8類型的話,double(a)的結果還是6,不過現在這個6是double類型的。

函數im2double將輸入轉換成double類型。
如果輸入是 uint8 unit16 或者是二值的logical類型,
則函數im2double 將其值歸一化到0~1之間,當然就是double類型的了。
如果輸入本身就是double類型,輸出還是double類型,並不進行歸一化。。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
matlab 矩陣運算
sum(x)列求和
sum(x,2)行求和
sum(x(:))矩陣求和(矩陣所有元素的和)
m'//m的轉置
m.^2//m里面的每個元素作為冪指數運算(2次冪指數)
min = [inf,0]???????????????????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ctrl+R是多行屏蔽,ctrl+T是多行消屏蔽


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM