complement a ROI region of an image

조회 수: 1 (최근 30일)
talayeh ghodsi
talayeh ghodsi 2019년 6월 15일
댓글: talayeh ghodsi 2019년 6월 16일
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

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by