complement a ROI region of an image

4 ビュー (過去 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