2017-06-20 13 views
0

画像内の空の矩形を検出する方法を見つけることができません。 私は以下のような画像を持っており、画像の長方形の数を検出したいと思います。私は四角形の数がどれだけ満たされたかを検出する方法を知っています。OpenCV:画像内の矩形の数を取得する

contours = cv2.findContours(image.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 
contours = contours[0] if imutils.is_cv2() else contours[1] 
print len(contours) 

ただし、矩形が空の場合はこれが機能しません。私はまた、イメージ内の図をどのように埋めるべきかも知らない。 OpenCVを使って輪郭線を描く方法を知っていますが、イメージに既に存在する空の四角形をどのように埋めるのか分かりません。私はそれが助けると信じています。あなたは形状検出器、ラインの検出などを試してみましたが、ここでは成功していないと仮定すると、

enter image description here

+0

あなたの質問に対する解決策を見つけましたか? –

答えて

2

は、この問題を解決する別の方法です。

グレースケールのPNGイメージの場合は、これを達成するためにカラーでセグメンテーションを使用できます。 私はそうのようにそれに近づくでしょう:

count = 0 
For each pixel in the image: 
    if color(pixel) == white /*255*/ 
     count++ 
     floodfill using this pixel as a seed pixel and target color as count 

no_of_rectangles = count - 1 /* subtract 1 since the background will be colored too*/ 

これはFLOODFILLは、他の長方形にリークします他、矩形が連続線を前提としています。

関連する問題