0
我有一個灰度圖像(I),並希望將不同的濾波器應用於matlab(R2015b)中的不同區域(隨機和不規則形狀區域)。我有我想要的第一個過濾器應用於(附件)的二進制版本。我不確定製作蒙版的最佳方法......我可以加載這個二進制圖像並使用bwconncomp來定位連接的組件,並將它們定義爲單個向量,這些向量不適用於poly2mask。對於A.如何從這個二進制圖像中獲得一個蒙版的任何建議,以及B.如何使用這個蒙版將過濾器應用於灰度圖像的該部分?MATLAB:將濾波器應用於ROI或灰度圖像中的蒙板
在此先感謝!
MASK=imread('/Users/bk/Desktop/FIJI_image/mask4.tif');
BACK=imcomplement(MASK);
I=imread('/Users/bk/Desktop/FIJI_image/Orig.tif');
I(~MASK)=0;
SE=ones(13,13);
A=stdfilt(I, SE);
minZ=min(min(A));
maxZ=max(max(A));
Low_High=[minZ maxZ];
var5=255/maxZ;
B=uint8(A*var5);
C=(imadjust(B,stretchlim(B),[]));
imtool(C);
謝謝,這是類似於我在做什麼initially..the問題,我是說我這樣做(I」 m使用stdfilt()過濾器,然後做對比拉伸)是,我從感興趣區域邊緣背景邊緣的處理中得到一個奇怪的輸出,並且對比度拉伸看起來也是傾斜的。有沒有辦法讓過濾器只在面罩內捲曲並忽略邊緣,並且類似地將對比度拉伸限於面罩/感興趣區域?謝謝! – user3470496
面具的邊框是「奇怪的」,因爲您在邊框的一側使用過濾器,但不使用過濾器的另一側。您可以在邊框附近的像素上使用「imgaussfilt」模糊邊框。您可以在掩碼「M」上使用'bwperim'或'bwboundaries'來查找邊界像素。你可以使用'imdilate'來「擴大」邊界像素。 – Shaked
關於對比度拉伸 - 您可以使用蒙版僅拉伸已過濾的像素。即I(M)= imadjust(I(M),stretchlim(I(M)),[]);'。這是可能的,因爲對比度拉伸操作不需要鄰域信息,這意味着圖像中像素的順序和「形狀」不會影響結果。 – Shaked