我對下面的圖像進行曲率分析,需要能夠測量峯之間的距離。請有人可以告訴我們如何做到這一點?我只對圖表的正面部分感興趣,如果還可以提取每個峯的高度,它將很有用。MATLAB網格圖中峯的分析
我已經嘗試使用findpeaks,但它要求一個向量,我沒有一個給它。
我正在使用在線Mathworks資源庫中的surfature函數。對於這個問題,'X'是我輸入高斯濾波器的圖像:
G = fspecial('gaussian',[19 19],6);
X = imfilter(X,G,'same');
[XI YI]=meshgrid(1:size(X,2), 1:size(X,1)); % Just create the x and y
[K, H, P1, P2, C, SI]=surfature(XI, YI, X);
figure(2);
mesh(surfature(XI, YI, X)); colormap gray;
我會非常感謝任何幫助。
感謝您使用此答案的時間,這非常有幫助。請允許我多解釋一下...... 峯表示動物骨架的位置和高度。我正在嘗試測量這個骨幹的屬性,例如椎骨間距等。這是我能夠從我的圖像中提取數據的最佳方式。如果你有更好的解決方案,我會非常感激聽到它。上述工作是4個月的研究和測試的結果,所以我歡迎任何新的想法。 – Adam893 2015-02-12 10:16:14
嘗試H,K,P1或P2時,我會得到以下錯誤: 使用imdilate時出錯 預期的輸入數字1 IM爲非NaN。 Image.internal.morphop錯誤> ParseInputs(line 125) validateattributes(A,{'numeric''logical'},... image.internal.morphop(第21行)中的錯誤 [A,se,pre_pad ,... imdilate中的錯誤(行120) B = images.internal.morphop(A,se,'dilate',mfilename,varargin {:}); cis_v2_0錯誤(行128) out = imdilate sur,se); – Adam893 2015-02-12 10:44:05
Aha。用isnan過濾掉NaN值,在我上班的路上更快地完成 – rayryeng 2015-02-12 13:11:47