2015-03-25 96 views
0

我正在處理一個項目,檢測離線人手寫簽名。我使用的是opencv版本2.4.10和C++作爲編程語言。我陷入了一種情況,在這種情況下,我想繪製一個包圍簽名的矩形框。我的輸出應該是四個座標,如果使用,CvRectangle函數,我可以繪製它。我使用了有界框方法,但是它給了我錯誤的輸出。它爲同一圖像創建多個有界框。這是因爲簽名不連續,輪廓高度不同。我需要一個與簽名相鄰的直角矩形。繪製一個矩形邊界離線人手寫簽名

+0

將這些框聯合在一起。 – Wain 2015-03-25 07:51:17

回答

1

首先爲每個輪廓找到boundingRect並執行聯合操作。 矩形上的完整list of operations

// In addition to the class members, the following operations 
// on rectangles are implemented: 

// (shifting a rectangle by a certain offset) 
// (expanding or shrinking a rectangle by a certain amount) 
rect += point, rect -= point, rect += size, rect -= size (augmenting operations) 
rect = rect1 & rect2 (rectangle intersection) 
rect = rect1 | rect2 (minimum area rectangle containing rect2 and rect3) 
rect &= rect1, rect |= rect1 (and the corresponding augmenting operations) 
rect == rect1, rect != rect1 (rectangle comparison) 


    [1]: http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=rect#Rect_