complement a ROI region of an image

4 vues (au cours des 30 derniers jours)
talayeh ghodsi
talayeh ghodsi le 15 Juin 2019
Commenté : talayeh ghodsi le 16 Juin 2019
Hi everybody. I have used matlab answers in order to use imellipse to crop an image (I have attached the original and cropped images). it works great for my data. Now, I want to complement only the ROI region (make black intensities white and white ones black) and keep the background black as well. Is there any solution for that?
% 1) Open the image file as a workspace variable:
img = rgb2gray(imread('4-chamber view41.jpg'));
% 2) Display the image and store its handle:
h_im = imshow(img);
% 3) Create an ellipse defining a ROI:
e = imellipse(gca,[265 160 273 381]);
% 4) Create a mask from the ellipse:
BW = createMask(e,h_im);
% 4a) (For color images only) Augment the mask to three channels:
BW(:,:,2) = BW;
BW(:,:,3) = BW(:,:,1);
% 5) Use logical indexing to set area outside of ROI to zero:
ROI = img;
ROI(BW == 0) = 0;
% 6) Display extracted portion:
figure, imshow(ROI);
BR

Réponse acceptée

Image Analyst
Image Analyst le 15 Juin 2019
Try this:
img = 255 - img; % Invert gray levels.
img(~BW) = 0; % Make sure background stays black.
  6 commentaires
Image Analyst
Image Analyst le 15 Juin 2019
rotatedImage = imrotate(img, 45); % Or -45.
talayeh ghodsi
talayeh ghodsi le 16 Juin 2019
thanks a lot

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by