How to draw a straight across the centroid points of the barcode using best fit points

1 次查看(过去 30 天)
This is the processed image and I can't increase the bwareaopen() as it won't work for my other image.
EDITED: Anyway I'm trying to find the shortest points in the centre points of the barcode, to get the straight line across the centre points in the barcode.
Example: After doing a centroid command, the points in the barcode are near to each other. Therefore, I just wanted to get the shortest points(which is the barcode) and draw a straight line across.
All the points need not be join, best fit points will do.
EDITED: Step 1
EDITED: Step 2
EDITED: Step 3

回答(2 个)

Image Analyst
Image Analyst 2012-1-17
Maybe run imclose and filter it to grab the largest blob, then find the largest inscribed rectangle with this:
I haven't tried it so I don't know if it can handle tilted rectangles.
Otherwise, just use the points Chandra finds and call improfile() to get a profile line across the bar code. Then scan the profile to find out where it starts and stops.

Image Analyst
Image Analyst 2012-1-18
Kim, because you have two "lines" I think you need to use RANSAC (<http://en.wikipedia.org/wiki/Ransac)>, unless you can filter out the numbers from your image somehow, in which case you can use polyfit.

类别

Help CenterFile Exchange 中查找有关 Image Filtering and Enhancement 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by