2017-06-20 505 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會泄漏到其他矩形。