matlab 邊緣偵測 |
尚未結案
|
7y7y7
一般會員 發表:14 回覆:2 積分:3 註冊:2004-12-28 發送簡訊給我 |
我看書中的範例程式 卻出現這樣的問題
[image,map]=imread('E:\exoHyCdz.jpg');
image1=sobel(image,0.5);
image2=sobel(image,0.6);
image3=sobel(image,0.7);
imshow(image,map)
figure,imshow(image1)
figure,imshow(image2)
figure,imshow(image3)
%函式sobel.m: sobel運算子%
function y=sobel(image,th)
%image: 輸入影像%
%th: 臨界值%
[Nn Nm]=size(image); %圖片大小
h=[-1 -2 -1;0 0 0;1 2 1]; %Sobel 運算子
Gx=filter2(h,image); %得梯度向量的Gx分量
Gy=filter2(h',image); % 得梯度向量的Gy分量
F=abs(Gx)+abs(Gy);
Bw_Gx=double(Gx)/255; %將Gx範圍從[0, 255]縮到[0,1]
Bw_Gy=double(Gy)/255; %將Gy範圍從[0, 255]縮到[0,1]
Bw_F=double(F)/255; %將F範圍從[0, 255]縮到[0,1]
%設定臨界值,在[0,1]之間
for i=1:Nn
for j=1:Nm
if Bw_F(i,j)
| |
fusung
中階會員 發表:26 回覆:169 積分:99 註冊:2003-11-25 發送簡訊給我 |
原因是你所貼的內容中
function y=sobel(image,th)這一行以下(包含)的內容要另存 成一個檔案叫做 sobel.m , 而這一行以上的內容則為主程式。 如果你全部複製到MATLAB命令視窗執行就會出現找不到副程式(sobel.m)這個錯誤。 另外,建議你先去找一本中文MATLAB手冊,瞭解一下他的架構, 這樣你比較不會卡在一些小細節上 <> <> > >
------
The first step toward proving things for yourself is to understand how others have done it before! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |