matlab-多尺度分割


這個代碼我也不是很懂原理,但是效果我覺得還可以。放進來方便我以后使用。

若代碼侵權,請聯系我。

function bw = multi_detect(I,num)
if isa(I,'double')
    I = double(I);
end
range = [min(I(:)) max(I(:))];
smoothValue = 0.01*diff(range).^2;
%imguidedfilter導向濾波函數。方差比較大的區域,保持值不變,在平滑區域,使用臨近像素平均(也就退化為普通均值濾波)
J = imguidedfilter(I,'DegreeOfSmoothing',smoothValue);
thresh = multithresh(J,2);
L = imquantize(J,thresh);
L = imfill(L);
bw = ones(size(L));
bw(L ==num) = 0;

  放一個效果圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM