Delete part of an image
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Alejandro Fernández
am 16 Jan. 2020
Kommentiert: Alejandro Fernández
am 16 Jan. 2020
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 Kommentare
Akzeptierte Antwort
Matt J
am 16 Jan. 2020
Bearbeitet: Matt J
am 16 Jan. 2020
[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 Kommentare
Matt J
am 16 Jan. 2020
Appropriate type conversions will fix it,
newImage=uint16( double(oldImage).*mask );
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!