Matlab之distmatrix函式
阿新 • • 發佈:2018-11-25
目錄
2. 將函式放到 C:\Program Files\MATLAB\R2017a\toolbox\images\images 路徑下
我覺得找過來的八成是看了《使用MATLAB影象和視訊處理》一書,報錯來的2333
沒錯,我也是報錯了在網上找不到解決教程於是才寫了這篇文章,幫大家解決下問題吧。
MATLAB中並沒有內建distmatrix函式,所以你也用不了,解決方式是:
1. 自己寫一個distmatrix函式放進去。
原始碼如下:
function y = distmatrix(M,N) u = 0:(M - 1); v = 0:(N - 1); ind_u = find(u > M/2); u(ind_u) = u(ind_u) - M; ind_v = find(v > N/2); v(ind_v) = v(ind_v) - N; [V, U] = meshgrid(v, u); %calculate distance matrix y = sqrt((U .^ 2) + (V .^ 2));
上面這個程式碼,你當然可以自己去加函式描述了,我就不放上了。
2. 將函式放到 C:\Program Files\MATLAB\R2017a\toolbox\images\images 路徑下
我看到關於影象處理的很多函式都在這個路徑下,於是我們就也放在這個路徑下吧
3.更新cache
檔案放在matlabroot/toolbox路徑下了吧,此時如果執行which distmatrix是找不到檔案的,這和Matlab為了提高啟動和執行速度所採取的一個優化措施有關。Matlab把toolbox下的函式都cache了一下,所以只需要更新一下toolboxcache就可以了。
更新方式有兩種,一種通過設定,一種跑程式碼就行。
①
更新快取的步驟
要更新快取和快取檔案,請執行以下操作:
-
在主頁選項卡上的環境部分中,點選 預設。選擇 MATLAB > 常規。
此時將顯示常規預設項窗格。
-
點選更新工具箱路徑快取並點選確定。
②備用函式
要更新快取,請使用 rehash toolbox
。要同時更新快取和快取檔案,請使用 rehash toolboxcache
。有關詳細資訊,請參閱 rehash
。