我有一個使用bwlabel標記的斑點圖像,我想找到一個像素位置[x,y]的斑點,並通過刪除剩餘的斑點來顯示它。 這裏是我寫的代碼,但它沒有給出正確答案,請解決這個找出哪個blob具有像素位置[x,y]?
[y, x] = ginput(1);
x = round(x);
y = round(y); % here x and y is a location of blob i want to keep
BW = bwlabel(newImgg,4) ; % labelled image contains several blobs
% figure, imshow(BW, [])
props = regionprops(logical(BW),'all');
while(1)
for k = 2:length(props)
if ismember([x,y],props(k,1).PixelList) == [1, 1];
keeperIndex = k;
break
end
end
break
end
keeperBlobsImage = ismember(BW, keeperIndex);
keeperBlobsImage = imfill(keeperBlobsImage,'holes');
figure, imshow(keeperBlobsImage,[])
感謝,
戈皮
不是答案,只是一個評論,因爲我不知道Matlab。也許你可以使用圖像副本中的獨特顏色對每個檢測到的斑點進行着色,然後查看該像素的顏色以確定它屬於哪個斑點。 –
我正在與醫療dicom圖像,基本上是灰度,我不想改變像素值,我不認爲這就是我正在嘗試做的,感謝您的建議 – Gopi