一、C語言簡介程序語句分類
1. 循環:
- while(表達式) 語句 \\當while()內的表達式為真時,循環執行{}內的語句,直到while()內的表達式為假.跳出循環.
-
do...while語句\\先執行do{}中的語句然后判斷while()中的表達式
-
for語句,for(表達式1;表達式2;表達式3) \\先執行表達式1,然后執行表達式2,如果表達式2的值為真.那么執行{}內的語句,執行完畢后在執行表達式
- 用break語句提前終止循環
- 用continue語句結束本次循環
2.選擇判斷
- if ...else 語句
- switch
- && 邏輯與 兩個值都為真,則結果為真,否則為假
|| 邏輯或 有一個或一個以上為真,則結果為真,二則都為假時,結果為假.
! 邏輯非
- 優先級
二、形態學算法
grid on; %顯示網格線
axis on; %顯示坐標系
axis([50,250,50,200]);
subplot(1,3,4)%1表示1行,3表示3列,4表示第四個圖
1.邊界提取
I=imread('1.jpg'); %載入圖像
subplot(1,3,1),imshow(I);
title('原始圖像');
I1=im2bw(I);
subplot(1,3,2),imshow(I1);
title('二值化圖像');
I2=bwperim(I1); %獲取區域的周長
subplot(1,3,3),imshow(I2);
title('邊界周長的二值圖像');
結果顯示

膨脹
I=imread('1.jpg'); %載入圖像
subplot(1,3,1),imshow(I);
title('原始圖像');
I1=rgb2gray(I);
subplot(1,3,2);
imshow(I1);
title('灰度圖像')
se=strel('disk',1); %生成圓形結構元素
I2=imdilate(I1,se); %用生成的結構元素對圖像進行膨脹
subplot(1,3,3);
imshow(I2);
title(' 膨脹后圖像');
結果顯示

腐蝕
I=imread('1.jpg'); %載入圖像
subplot(2,2,1),imshow(I);
title('原始圖像');
I1=rgb2gray(I);
subplot(1,2,1);
imshow(I1);
title('灰度圖像')
se=strel('disk',1); %生成圓形結構元素
I2=imerode(I1,se); %用生成的結構元素對圖像進行腐蝕
subplot(1,2,2);
imshow(I2);
title('腐蝕后圖像');
結果圖

開操作和閉操作
I=imread('1.jpg'); %載入圖像
subplot(2,2,1),imshow(I);
title('原始圖像');
I1=rgb2gray(I);
subplot(2,2,2),imshow(I1);
title('灰度圖像');
se=strel('disk',1); %采用半徑為1的圓作為結構元素
I2=imopen(I1,se); %開啟操作
I3=imclose(I1,se); %閉合操作
subplot(2,2,3),imshow(I2);
title('開啟運算后圖像');
subplot(2,2,4),imshow(I3);
title('閉合運算后圖像');
結果顯示

開啟閉合組合操作
I=imread('1.jpg'); %載入圖像
subplot(2,3,1),imshow(I);
title('原始圖像');
I1=rgb2gray(I);
subplot(2,3,2),imshow(I1);
title('灰度圖像');
se=strel('disk',1);
I2=imopen(I1,se); %開啟操作
I3=imclose(I1,se); %閉合操作
subplot(2,3,3),imshow(I2);
title('開啟運算后圖像');
subplot(2,3,4),imshow(I3);
title('閉合運算后圖像');
se=strel('disk',1);
I4=imopen(I1,se);
I5=imclose(I4,se);
subplot(2,3,5),imshow(I5); %開—閉運算圖像
title('開—閉運算圖像');
I6=imclose(I1,se);
I7=imopen(I6,se);
subplot(2,3,6),imshow(I7); %閉—開運算圖像
title('閉—開運算圖像');


2.中值濾波器
I=imread('1.jmp');
I=rgb2gray(I);
J=imnoise(I,'salt&pepper',0.02);
subplot(231),imshow(I);title('原圖像');
subplot(232),imshow(J);title('添加椒鹽噪聲圖像');
k1=medfilt2(J); %進行3*3模板中值濾波
k2=medfilt2(J,[5,5]); %進行5*5模板中值濾波
k3=medfilt2(J,[7,7]); %進行7*7模板中值濾波
k4=medfilt2(J,[9,9]); %進行9*9模板中值濾波
subplot(233),imshow(k1);title('3*3模板中值濾波');
subplot(234),imshow(k2);title('5*5模板中值濾波 ');
subplot(235),imshow(k3);title('7*7模 板中值濾波');
subplot(236),imshow(k4);title('9*9 模板中值濾波');
區域填充
連通分量的提取
凸殼
細化粗化 (這幾個繼續找程序)
