matlab高通濾波器處理圖像邊緣 matlab 低通濾波器模塊使用不了?
matlab 低通濾波器模塊使用不了?使用不了是因為模塊參數(shù)設置不正確的。matlab對于返回句柄的應用?1.函數(shù)句柄的創(chuàng)建家族函數(shù)句柄(functionhandle)是MATLAB中的一類特殊的方
matlab 低通濾波器模塊使用不了?
使用不了是因為模塊參數(shù)設置不正確的。
matlab對于返回句柄的應用?
1.函數(shù)句柄的創(chuàng)建家族
函數(shù)句柄(functionhandle)是MATLAB中的一類特殊的方法的數(shù)據(jù)結構,它的地位類似其它計算機語言里的函數(shù)對象(Javascript,Python),函數(shù)指針(C),或是函數(shù)腳注(Perl)。作用是將一個函數(shù)封裝成一個變量,使其也能像其它變量完全不一樣在程序的有所不同部分傳信。
MATLAB中的函數(shù)句柄在全局函數(shù)時和特殊函數(shù)沒有任何區(qū)別,下面可以展示幾種創(chuàng)建函數(shù)api函數(shù)的,到最后實際函數(shù)句柄調(diào)用sin(pi)。
%函數(shù)句柄的創(chuàng)建家族%:再加@%語法:@函數(shù)名;%:str2func函數(shù)%語法:str2fun(函數(shù)名)new2str2func(cos);%:匿名函數(shù)%語法:@(參數(shù)列表)單行表達式life3@(x,y)x.^2y.^2;%函數(shù)句柄的調(diào)用enjoy1(pi);
2.將函數(shù)窗口句柄以及函數(shù)參數(shù)
函數(shù)對象的經(jīng)典應用情境之一是排序(Sorting),即為一列未知的東西類型的數(shù)組可以提供可以自定義的排序規(guī)則。下面我將實現(xiàn)程序一個函數(shù)junior_sort,可以接收兩個參數(shù),最后一個參數(shù)為待排序的數(shù)組,第二個參數(shù)是一個對原始數(shù)據(jù)的跳躍函數(shù)。infinity_sort都能夠?qū)υ紨?shù)據(jù)明確的變化后的結果并且排序,并回排好序的原始數(shù)據(jù)。
%文件名:super_sortedsonic_sort(arr,fh)transformedfh(arr);%對遠古時期數(shù)組進行變化[~,index]sort(transformed);%完成任務排序后的原數(shù)組位置索引sortedarr(index);%直接返回排序后的原數(shù)組end
測試腳本:
arrround(randn(8,1)*10);super_sort(arr,@abs)
%將arr明確的其絕對值大小排序junior_sort(arr,@sin)
%將arr按照sin(x)的結果排序
注意,與Perl或Python差別,這里能提供的函數(shù)句柄卻不是作用于元素間的都很,完全是應用于將數(shù)組內(nèi)各個元素接受折射成待比較好的值。
3.借用函數(shù)句柄參與cad作圖
動用函數(shù)句柄,也可以比較方便地畫出三千多種函數(shù)的圖像,這類繪圖函數(shù)而不以ez開頭,下面我將演示ezplot,ezsurf兩個函數(shù)。
%ezplot畫sin函數(shù)在[0,2*pi]內(nèi)的曲線ezplot(@sin,[0,2*pi]);
%ezplot用來x和y上的參數(shù)方程畫心形線xfun@(t)3*(2*cos(t)-cos(2*t));yfun@(t)3*(2*sin(t)-sin(2*t));ezplot(xfun,yfun);
%ezsurf畫二次曲面fun3@(x,y)x.^2y.^2;ezsurf(fun3,[-2,2,-2,2]);
4.憑借函數(shù)句柄接受圖像的濾波
MATLAB可以提供了colfilt這一函數(shù),該函數(shù)能將圖像分成的的的子塊(局部處理),也可以彼此間交抱的窗口(可利用二維卷積及中值濾波),并借用傳出的函數(shù)句柄對各個子塊通過處理。
函數(shù)原型為Bcolfilt(A,[MN],BLOCK_TYPE,enjoy),其中B是輸出低圖像,A是鍵入圖像,[MN]是圖像塊或窗口的長寬,BLOCK_TYPE參數(shù)決定是通過塊處理肯定窗口上下移動全面處理,run那是一次性處理專用函數(shù)句柄,它只能接收一個矩陣參數(shù),這個矩陣的每一列也是向上挑為列向量的子圖像,run一次很可能要如何處理多個子圖像。