find a invoice slip on a package

1 回表示 (過去 30 日間)
Yash Verma
Yash Verma 2022 年 5 月 27 日
コメント済み: David Willingham 2022 年 6 月 1 日
Given :- A image of a package
Goal :- To localize the invoice slip on the package
Tried corner detection , thresholding , morphological operations but couldn't reach the desired output
Input :-
Desired Output :-
Scripts (Not giving desired output) :-
Unrecognized function or variable 'filename'.
I = imread("image");
I=im2gray(I);
level = graythresh(I);
BW = I>(level*max(I(:)));
BW=imfill(BW,'holes');
BW=bwareaopen(BW,1000);
se=strel('rectangle',[21 21]);
BW=imdilate(BW,se);
% BW = bwconvhull(BW);
CC = bwconncomp(BW);
numOfPixels = cellfun(@numel,CC.PixelIdxList);
[unused,indexOfMax] = max(numOfPixels);
BW(CC.PixelIdxList{indexOfMax}) = 0;
img=zeros([size(BW,1) size(BW,2)]);
img(CC.PixelIdxList{indexOfMax})=1;
stats = regionprops(img, 'BoundingBox');
crop_region = stats.BoundingBox; % contains [top_left_x top_left_y width height]
cropped_img = imcrop(I, crop_region);

回答 (1 件)

David Willingham
David Willingham 2022 年 5 月 27 日
If traditional image processing doesn't work, you could possible try to build an object detector based on Deep Learning.
The key to building an objector detector is to have enough labeled data to train the model. The Image Labeler app will help here, as you can upload all your images and label them efficiently.
  2 件のコメント
Yash Verma
Yash Verma 2022 年 5 月 30 日
We were thinking of going with YOLO is it a good option ?
David Willingham
David Willingham 2022 年 6 月 1 日
Yolo is great but you have a few options. Here is a link to the pretrained models in MATLAB you can use as a starting point: https://github.com/matlab-deep-learning/MATLAB-Deep-Learning-Model-Hub#ObjectDetection

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

Community Treasure Hunt

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

Start Hunting!

Translated by