Automatically crop an image

3 Ansichten (letzte 30 Tage)
Eliska Paulikova
Eliska Paulikova am 24 Okt. 2022
Kommentiert: Eliska Paulikova am 24 Okt. 2022
Hello, I need to automatically crop the rectangular part, how can I do it?
Thank you
Thank you

Akzeptierte Antwort

DGM
DGM am 24 Okt. 2022
Bearbeitet: DGM am 24 Okt. 2022
Depending on the requirements and what the other photos look like, this might be one way, or at least a start
% this is an rgb image
inpict = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1167208/image.jpeg');
% make a mask that roughly selects the object
mk = rgb2gray(inpict)<200; % basic thresholding
mk = imopen(mk,strel('disk',20)); % use small features to break up background
mk = imclearborder(mk); % get rid of any framing
mk = bwareafilt(mk,1); % select only the largest remaining blob
imshow(mk)
% crop area by direct indexing
rows = any(mk,2);
cols = any(mk,1);
outpict = inpict(rows,cols,:); % this is also RGB
imshow(outpict);

Weitere Antworten (0)

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by