2014-08-30 85 views
2

當我嘗試運行Matlab的Canny邊緣功能不能正常工作

BW = edge(im,'canny') 

其中im是我的形象(256X256 uint8)。

這是錯誤我得到:

Error using gradient (line 3) 
Not enough input arguments. 

Error in edge>smoothGradient (line 709) 
derivGaussKernel = gradient(gaussKernel); 

Error in edge (line 213) 
[dx, dy] = smoothGradient(a, sigma); 

Error in ps_1_1 (line 2) 
BW = edge(im,'canny') 
+0

這是什麼版本的MATLAB?在2010年這工作得很好:im = imread('some_image.jpg'); im_gray = rgb2gray(im); edegs = edge(im_gray,'canny'); imshow(邊緣); – Anthony 2014-08-30 15:28:09

+0

其他邊緣檢測算法的工作? – 2014-08-30 16:04:13

+0

@AndrewPiliser是的。 – lars 2014-08-30 20:09:50

回答

0

由於功能對我來說工作得很好,當我測試了它,我想你大概的圖像傳遞到沒有灰度(意指有一個灰色的每個像素的功能值),如果不是這種情況,請嘗試重新安裝庫,因爲在註釋中提到的antony函數可以正常工作。但無論如何一定要仔細閱讀edge document

+0

你如何去重新安裝圖像處理庫(我認爲你正在談論的是什麼)? – lars 2014-08-30 20:18:20

+0

@lars - 以此鏈接開頭:http://www.mathworks.com/matlabcentral/answers/101885-how-do-i-install-additional-toolboxes-into-an-existing-installation-of-matlab – rayryeng 2014-08-31 05:28:22