|
|
|
@ -121,21 +121,6 @@ static void findSquares( const Mat& image, vector<vector<Point> >& squares ) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// the function draws all the squares in the image
|
|
|
|
|
static void drawSquares( Mat& image, const vector<vector<Point> >& squares ) |
|
|
|
|
{ |
|
|
|
|
for( size_t i = 0; i < squares.size(); i++ ) |
|
|
|
|
{ |
|
|
|
|
const Point* p = &squares[i][0]; |
|
|
|
|
int n = (int)squares[i].size(); |
|
|
|
|
polylines(image, &p, &n, 1, true, Scalar(0,255,0), 3, LINE_AA); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
imshow(wndname, image); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main(int argc, char** argv) |
|
|
|
|
{ |
|
|
|
|
static const char* names[] = { "pic1.png", "pic2.png", "pic3.png", |
|
|
|
@ -148,8 +133,6 @@ int main(int argc, char** argv) |
|
|
|
|
names[1] = "0"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
vector<vector<Point> > squares; |
|
|
|
|
|
|
|
|
|
for( int i = 0; names[i] != 0; i++ ) |
|
|
|
|
{ |
|
|
|
|
string filename = samples::findFile(names[i]); |
|
|
|
@ -160,8 +143,11 @@ int main(int argc, char** argv) |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
vector<vector<Point> > squares; |
|
|
|
|
findSquares(image, squares); |
|
|
|
|
drawSquares(image, squares); |
|
|
|
|
|
|
|
|
|
polylines(image, squares, true, Scalar(0, 255, 0), 3, LINE_AA); |
|
|
|
|
imshow(wndname, image); |
|
|
|
|
|
|
|
|
|
int c = waitKey(); |
|
|
|
|
if( c == 27 ) |
|
|
|
|