Hello, I need to automatically crop the rectangular part, how can I do it?
Thank you
Thank you

 採用された回答

DGM
DGM 2022 年 10 月 24 日
編集済み: DGM 2022 年 10 月 24 日

0 投票

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);

1 件のコメント

Eliska Paulikova
Eliska Paulikova 2022 年 10 月 24 日
Thank you so much

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Image Processing Toolbox についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by