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

4 vues (au cours des 30 derniers jours)
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!

Réponse acceptée

KSSV
KSSV le 7 Août 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 commentaires
Image Analyst
Image Analyst le 7 Août 2017
In what form is your existing ROI?
molly jane fitches
molly jane fitches le 8 Août 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur DICOM Format dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by