How can I remove inside area from an ROI to analyse the outer area only?

4 visualizzazioni (ultimi 30 giorni)
I have recently started using MATLAB for image processing with MR images, and so far have found previously asked questions and examples to be a great help - but with this I am a little stuck! I have created an ROI on my dicom image using imfreehand() I have then dilated this ROI using the imdilate(I, strel('square',n)) function to create a new ROI. Ideally, I would now like to subtract the original ROI from the new ROI so that I am left with only the new area. Any help would be greatly appreciated!

Risposta accettata

KSSV
KSSV il 7 Ago 2017
I = imread('cameraman.tif') ;
imshow(I)
h = imfreehand ;
pos = wait(h);
%%Extract the ROI
[ny,nx] = size(I) ;
[X,Y] = meshgrid(1:nx,1:ny) ;
idx = inpolygon(X(:),Y(:),pos(:,1),pos(:,2)) ;
Z = I ;
Z(idx) = NaN ;
imshow(Z) ;
  4 Commenti
molly jane fitches
molly jane fitches il 8 Ago 2017
I thought so, thought it would be very easy to adjust but rather than returning an error it executes and displays the original image. I drew the ROI using imfreehand, then tried it as a double, and then tried using the column and row vectors from the boundary.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su DICOM Format in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by