complement a ROI region of an image
조회 수: 1 (최근 30일)
이전 댓글 표시
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
댓글 수: 0
채택된 답변
Image Analyst
2019년 6월 15일
Try this:
img = 255 - img; % Invert gray levels.
img(~BW) = 0; % Make sure background stays black.
댓글 수: 6
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!