1.假設在影像平面上區間 (20,20),(20,30),(30,30),(30,20) 中為一片明亮的區域,其他地方則為黑暗一片。試利用MATLAB求出沿0到10度之角度對此 影像執行RADON轉換所得的結果,並以曲線圖形式繪出。
解:
t=[];
t(50,50)=0;
t(20:30,20:30)=ones(11,11);
gray;
colormap(gray)
imagesc(t)
figure
y=radon(t,0:1:10);
plot(y)
a=[
4 4 3 3 1 1
1 0 7 0 2 0
0 1 3 1 1 4
0 2 5 1 1 2
1 0 0 5 1 1
1 1 0 0 2 3
];
b=nlfilter(a, [ 3 3 ],'max(x(:))')
假設在未上機前,請試以自行計算的方式求出其結果。
a=[
4 4 3 3 1 1
1 0 7 0 2 0
0 1 3 1 1 4
0 2 5 1 1 2
1 0 0 5 1 1
1 1 0 0 2 3
];
b=im2bw(a,3)
假設在未上機前,請試以自行計算的方式求出其結果。
a=[
4 4 3 3 1 1
1 0 7 0 2 0
0 1 3 1 1 4
0 2 5 1 1 2
1 0 0 5 1 1
1 1 0 0 2 3
];
imcontour(a,6)
figure
imagesc(a)
figure
假設在未上機前,請試以自行計算的方式求出其結果。
解: imcontour為繪出影像輪廓曲線之函數﹐imagesc為尋求適當的對應關係將矩陣檔轉換至影像圖形之函數。
本題程式執行之結果如下
a=[
4 4 3 3 1 1
1 0 7 0 2 0
0 1 3 1 1 4
0 2 5 1 1 2
1 0 0 5 1 1
1 1 0 0 2 3
];
b=[];
b(32)=0;
for i=1:32
for j=1:6
for k=1:6
if a(j,k)==i-1
b(i)=b(i)+1;
end
end
end
end
plot([0:31],b)
figure
for i=1:31
b(i+1)=b(i)+b(i+1);
end
plot([0:31],b)
figure
for i=1:6
b(i)=sum(a(1:6,i));
end
plot(b)
b=[];
for i=1:6
b(i)=sum(a(i,1:6));
end
c=[];
for i=1:6
c(i)=b(7-i);
end
plot(c,[1:6])
figure
假設在未上機前,請試以自行計算的方式求出其結果。
解:灰階亮度統計圖如下
:累積式灰階亮度統計圖如下:
垂直投射灰階亮度統計圖如下:
水平投射灰階亮度統計圖如下: