How to display all selected region in the one figure?
古いコメントを表示

N = 5 ;
I = imread('13170.jpg');
iwant = cell(N,1) ;
for i = 1:N
im = imshow(I);
e = imellipse(gca);% now pick ROI
setColor(e, 'red');
position = wait(e);
BW = createMask(e,im);% get BW mask for that ROI
BW(:,:,2) = BW;
BW(:,:,3) = BW(:,:,1);
ROI = I;
ROI(BW == 0) = 255;
iwant{i} = ROI ;
end
for i = 1:N
figure
imshow(iwant{i},'Border','tight');
end
採用された回答
その他の回答 (2 件)
Image Analyst
2017 年 2 月 4 日
1 投票
Mei, try the attached for a more memory efficient way of doing it. Don't be afraid, there are actually fewer lines than you and Takuja were using if you boil it down to the essentials. It's just longer because I put in tons of comments and some fancy display stuff to show your progress while drawing. I just mask the image at the end with the final mask. If you want, you can get updated images in the lower right that update after every ellipse so it would show 1 ellipse, then 2, then 3, etc.

Image Analyst
2017 年 2 月 4 日
0 投票
Takuji: Don't make iwant a cell array. Make it your final image. Just paste in the ellipses from the source image. Adapt my attached copy and paste demo.
2 件のコメント
Mei Synn Tan
2017 年 2 月 4 日
Thank for answer my question. Hope Takuji Fukumoto can help me. Thanks and have a nice day
Image Analyst
2017 年 2 月 4 日
編集済み: Image Analyst
2017 年 2 月 4 日
Does that mean that you don't want me to help? I have a much better way than you or Takuja - I just didn't have time yesterday. It's in my second answer - look for it if you're interested.
カテゴリ
ヘルプ センター および File Exchange で High Dynamic Range Images についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


