Delete part of an image
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi, explain below what I want to do to see if anyone would know how to fix it.
I start with an image like the following:
Now I make two circles, one with a smaller radius than the other, of which I know both its center and radius. They're not concentric but they never intersect
And finally what I want to achieve is that all the points that are outside the major circle as well as inside the minor circle become black
댓글 수: 0
채택된 답변
Matt J
2020년 1월 16일
편집: Matt J
2020년 1월 16일
[m,n]=size(oldImage);
x=(1:n);
y=(1:m).';
mask = (x-innerCenterX).^2+(y-innerCenterY).^2>=innerRadius^2 & ...
(x-outerCenterX).^2+(y-outerCenterY).^2<=outerRadius^2 ;
newImage=oldImage.*mask;
댓글 수: 3
Matt J
2020년 1월 16일
Appropriate type conversions will fix it,
newImage=uint16( double(oldImage).*mask );
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!