Can I detect rectangle objects with different interior?

asked 2015-01-29 03:14:14 -0600

ChrisJ gravatar image

updated 2020-10-03 02:42:47 -0600

Hello everyone

I am newbie - but I hope that my question will be understandable.

I would like to train classifier to detect rectangle objects. Problem is that these objects have different interiors - different colours, some pictures etc.

It is possible? How can I do that in the best way?

How can I set option, when I train my classifier, that interior is not important?

And BTW - why the ObjectMarker tool which is used when I train classifier (according to http://www.technolabsz.com/2011/08/ho...) is not included in OpenCV for Windows?

Kind regards Chris

After edit (due to the comments):

Examples of pictures:

image description image description image description image description image description

I want to detect rectangles, e.g. the biggest one on the picture, I want to know its position (corners).

"the object detection tools / formats have changed significantly over the years"

Does this mean that ObjectMaker is no longer used? What would the training classifier procedure in my case? Can I find a more detailed description than on (http://docs.opencv.org/doc/user_guide...

Thank you

edit retag flag offensive close merge delete

Comments

btw, the object detection tools / formats have changed significantly over the years. please try to avoid anything from 2011

berak gravatar imageberak ( 2015-01-29 03:23:07 -0600 )edit

Would you add some images describes the problem your are trying to solve

essamzaky gravatar imageessamzaky ( 2015-01-29 03:47:02 -0600 )edit
2

imho, you can't train a cascade on abstract 'rectangles' (not enough features) ,and your images already show, that the difference of the content of your rects is far too large for this.

you could try finding rectagular shapes , but even that will be difficult, since all your images also suffer heavily from perspective distortion and occlusion.

opencv can do a lot, but i think, your expectation is far too broad here

berak gravatar imageberak ( 2015-01-29 05:47:29 -0600 )edit
1

berak - thank you very much for your opinion.

But I think in the following way:

I can recognize straight lines - as line (shape) or edge (http://docs.opencv.org/modules/objdet...)

so if I can recognize several lines (edges) on one picture, then I can conclude (maybe outside of the OpenCV) whether these lines construct a rectangle or not

Tell me if I am wrong.

Thank you for your answer and help

ChrisJ gravatar imageChrisJ ( 2015-01-29 10:05:34 -0600 )edit

sure, that will be the most easy way to start. also, findContours()

berak gravatar imageberak ( 2015-01-29 10:22:37 -0600 )edit

I think also a shape detection algorithm, would be able to help you at some range. Have a look in this example here.

theodore gravatar imagetheodore ( 2015-01-29 11:03:53 -0600 )edit

berak and theodore, thank you again. I will try your suggestions. It will take some time - but I will tell you about the results.

ChrisJ gravatar imageChrisJ ( 2015-01-30 06:43:06 -0600 )edit