2021年1月11日

用imagej高斯模糊萃取輪廓

最近被諮詢了兩個imagej的分析案例,雖然影像和目的需求都不一樣,但分析的手法卻是雷同的,都牽涉到高斯模糊。

什麼時候會用到高斯模糊呢?「瞇著眼睛看,好像就會看到答案」的影像,應該都會用到高斯模糊。這個對有近視但沒戴眼鏡的人最有感覺了,當你看到一個人,但是你並不想注意她的眼睛鼻子長什麼樣子,你只想關注他的外型輪廓、體型、身高等特徵,那麼你把眼鏡拔下就有高斯模糊的效果了。


案例一,左圖是一個SEM的圖片,提問者想要分析平滑區域和有孔洞的區域兩者面積的差異。這個案例需要先把兩個區域切割清楚,但如果直接用灰階值做閾值的劃分,一定會有誤。

仔細看看這張圖,如果你瞇著眼睛看,不要把細節看得那麼仔細,就會變成右圖。你就會發現那就是分析的目標了。

高斯

方法是先將影像做高斯模糊,可以消除細節,呈現輪廓

 Process › Filters › Gaussian Blur...

再做中值濾波

Process › Filters › Median...



第二個案例是研究珊瑚的年層線,左圖可以看見珊瑚切片上一圈一圈的年層線,如同上例,也是瞇著眼睛消除細節後,就比較能明顯區分出來。

Montage

方法一樣是先做高斯模糊,然後再做尋找邊緣等分析程序。

run("Gaussian Blur...", "sigma=5");
run("Find Edges");
setMinAndMax(0, 10);
setOption("BlackBackground", false);
run("Convert to Mask");
run("Dilate");
run("Erode");
run("Erode");
run("Despeckle");