Question: How can I draw a rectangle on the white object (in mask window), that appears in the original cam (in frame window) 
[see image](https://i.stack.imgur.com/yjDHD.png) 

my code:

```
    import cv2
    import numpy as np
    cap = cv2.VideoCapture(0)

    while(1):
        # Take each frame
        _, frame = cap.read()
        # Convert BGR to HSV
        hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
        # define range of red color in HSV
        lower_blue = np.array([0,89,190])
        upper_blue = np.array([180,255,255])
        # Threshold the HSV image to get only red colors
        mask = cv2.inRange(hsv, lower_blue, upper_blue)
        # Bitwise-AND mask and original image
        res = cv2.bitwise_and(frame,frame, mask= mask)
        cv2.imshow('frame',frame)
        cv2.imshow('mask',mask)
        cv2.imshow('res',res)
        k = cv2.waitKey(5) & 0xFF
        if k == 27:
            break
    cv2.destroyAllWindows()

```

Sorry for my bad English, I'm doing my best to improve it.

Answer: 
Like Tiphel said, you can use cv2.findContours and cv2.drawContours. Alternatively, after getting the contours, you can draw a box using cv2.boundingRect() function too. This returns 4 arguments, say, x,y, w and h. x,y represent a point and w, h represent the width of height of the rectangle respectively. You can then use cv2.rectangle to draw the rectangle. You can fit other shapes too similarly, like ellipses, circles, etc.

> 
> i, contours, heirarchy = cv2.findContours(a\_thresh, cv2.RETR\_EXTERNAL, cv2.CHAIN\_APPROX\_SIMPLE)
> 
> 
> cont\_sorted = sorted(cnts2, key=cv2.contourArea, reverse=True)[:5]
> 
> 
> x,y,w,h = cv2.boundingRect(cont\_sorted[0])
> 
> 
> cv2.rectangle(a,(x,y),(x+w,y+h),(0,0,255),5)
> 
> 
> 

Here, a\_thresh is the binary image after thresholding input image. In the cv2.rectange() function, the first argument corresponds to the image on which you want to draw, fourth argument specifies the color and fifth specifies the thickness of line used to draw the rectangle.

Also, I use 'sorted' to get the top 5 contours in terms of their size and ideally my object of interest would be the one with the largest area.

You can find documentation for these online. I suggest you go through the documentation for all functions used above to use it appropriately for your application!
Use `cv2.findContours` to find the object on your masked image then `cv2.drawContours` to display it.

[Doc here](https://docs.opencv.org/3.3.1/d4/d73/tutorial_py_contours_begin.html)