complement a ROI region of an image

2 Ansichten (letzte 30 Tage)
talayeh ghodsi
talayeh ghodsi am 15 Jun. 2019
Kommentiert: talayeh ghodsi am 16 Jun. 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

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by