Question: I've created black image, than I drew a red rectangle into this image. Afterwards I cropped this image and drew a another rectangle into the **cropped** image using the command. `cv2.rectangle(crop,(50,50),(150,150),(0,0,255),3)`

Why does this second rectangle appears in the original image when I show it at the end? I expected to see just the first rectangle.

```
import cv2
import numpy as np

#create image
image = np.zeros((400,400,3), np.uint8)

#draw rectangle into original image
cv2.rectangle(image,(100,100),(300,300),(0,0,255),3)

#crop image
crop = image[100:300,100:300]

#draw rectangle into cropped image
cv2.rectangle(crop,(50,50),(150,150),(0,0,255),3)
cv2.imshow('Result', image)
cv2.waitKey()    

cv2.destroyAllWindows()

```

Answer: 
if you want to save the cropped image, just add this code:

```
cv2.imwrite("Cropped.jpg", roi)

after cv2.imshow("Cropped", roi)

```

I hope this helps.
you can easily crop the image in python by using

```
roi = oriImage[refPoint[0][1]:refPoint[1][1], refPoint[0][0]:refPoint[1][0]]

```

In order to get the two points you can call `cv2.setMouseCallback("image", mouse_crop)`. 
The function is something like this 

```
def mouse_crop(event, x, y, flags, param):
    # grab references to the global variables
    global x_start, y_start, x_end, y_end, cropping

    # if the left mouse button was DOWN, start RECORDING
    # (x, y) coordinates and indicate that cropping is being
    if event == cv2.EVENT_LBUTTONDOWN:
        x_start, y_start, x_end, y_end = x, y, x, y
        cropping = True

    # Mouse is Moving
    elif event == cv2.EVENT_MOUSEMOVE:
        if cropping == True:
            x_end, y_end = x, y

    # if the left mouse button was released
    elif event == cv2.EVENT_LBUTTONUP:
        # record the ending (x, y) coordinates
        x_end, y_end = x, y
        cropping = False # cropping is finished

        refPoint = [(x_start, y_start), (x_end, y_end)]

        if len(refPoint) == 2: #when two points were found
            roi = oriImage[refPoint[0][1]:refPoint[1][1], refPoint[0][0]:refPoint[1][0]]
            cv2.imshow("Cropped", roi)

```

You can get details from here : [Mouse Click and Cropping using Python](http://www.life2coding.com/crop-image-using-mouse-click-movement-python/)