Сегментация изображения в MATLAB с использованием адаптивной пороговой функции

Я написал несколько строк кода, используя следующую функцию:

adaptivethreshold(IM,ws,c)

и это дает мне Маску bw. Я умножаю эту маску на исходное изображение bb и показываю результат.

clear
clc
bb=dicomread('30421573');
figure(1)
imagesc(bb)
bw=adaptivethreshold(bb,50,128);
imaa=double(bw).*double(bb);
figure(2)
image(imaa)

показано исходное изображение и результат: введите здесь описание изображения < img src="https://i.stack.imgur.com/qPnHU.png" alt="введите здесь описание изображения">

Кажется, это не дает мне никакой маски для моего изображения. Есть ли способ извлечь эти желтые части из моих результатов?


person sn at    schedule 01.11.2019    source источник
comment
Используете ли вы эту функцию обмена файлами? Это было бы важно упомянуть в вашем вопросе. Набор инструментов обработки изображений имеет adaptthresh, что существенно отличается.   -  person Cris Luengo    schedule 02.11.2019


Ответы (1)


Попробуйте создать маску перед применением к изображению, т.е.

bw=adaptivethreshold(bb,50,128);
BW = imbinarize(bb,bw);
imaa=double(bw).*double(BW);
figure(2)
image(imaa)
person gep    schedule 01.11.2019
comment
Это было бы верно, если бы OP использовал adaptthresh из панели инструментов обработки изображений. Но неясно, какую функцию на самом деле использует OP, см. комментарий. - person Cris Luengo; 02.11.2019