Ask Your Question
1

Finding largest rectangles in matrix

asked 2018-11-20 07:20:57 -0600

ejeczmionek gravatar image

updated 2018-11-20 07:53:46 -0600

Hello :)
I'm new to opencv. Having 2d occupancy matrix (box status is occupied, free or unknown) is there an algorithm covering whole matrix with possibly largest status rectangles?
Thank you for your help

Example:

  • white box = free
  • red box = occupied
  • green boxes are expected answers (green boxes should touch, but I draw it this way for clarity) e.g. coordinates of down left and top right corner
    image description
edit retag flag offensive close merge delete

Comments

2

thanks for the image update !

hmmm, why do you expect rectangles here ? e.g. there is nothing seperating the small one top/left from the large one bottom/left and the one on top/right

i don't think, opencv has any kind of magic for this kind of "self-organization"

however, have a look at connectedComponents (it will work for the red boxes, bzut return all connected white space as a single blob)

berak gravatar imageberak ( 2018-11-20 07:56:13 -0600 )edit
2

I expect rectangles, because of the further processing to custom octree. Thank you for your answer :)

ejeczmionek gravatar imageejeczmionek ( 2018-11-20 08:10:54 -0600 )edit
1

ahh, ok. unfortunately, i think, you 'll have to do your own "partitioning", then.

berak gravatar imageberak ( 2018-11-20 08:12:26 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
-2

answered 2018-11-20 17:21:51 -0600

nick_leo gravatar image

updated 2018-11-20 17:23:11 -0600

Hi,

I'm not sure the blue matrix is really in the target image or you have used it as a position reference.Things are bit tricky if the blue matrix is also part of the image.But you can try following approach,

  1. Use an edge detector in the gray scale image(Laplacian is preferred)
  2. Apply OpenCV contour analysis contour
  3. Use boundingRect to find rectangle with the maximum size.
edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2018-11-20 07:20:57 -0600

Seen: 560 times

Last updated: Nov 20 '18