
want to select the coke cans boundaries using mouse clicks and crop them.
So need a solution to draw multiple polygons to select objects:
**I am able to draw single polygon but not multiples**. here is the code:
void mouseHandler(int event, int x, int y, int, void*)
{
if (event == EVENT_LBUTTONDOWN && !drag)
{
if (flag1 == 0)
{
if (var == 0)
img1 = img0.clone();
point = Point(x, y);
circle(img1, point, 2, Scalar(0, 0, 255), -1, 8, 0);
pts[var] = point;
var++;
drag = 1;
if (var>1)
line(img1, pts[var - 2], point, Scalar(0, 0, 255), 2, 8, 0);
imshow("Source", img1);
}
}
if (event == EVENT_LBUTTONUP && drag)
{
imshow("Source", img1);
drag = 0;
}
if (event == EVENT_RBUTTONDOWN)
{
flag1 = 1;
img1 = img0.clone();
for (int i = var; i < numpts; i++)
pts[i] = point;
if (var != 0)
{
const Point* pts3[1] = { &pts[0] };
polylines(img1, pts3, &numpts, 1, 1, Scalar(0, 0, 0), 2, 8, 0);
}
for (int i = 0; i
↧