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: 
`crop = image[100:300,100:300]` creates a *view* on the original image instead of a new object. Modifying that view will modify the underlying original image. See <http://scipy-cookbook.readthedocs.io/items/ViewsVsCopies.html> for more details.

You can resolve this issue by creating a copy when cropping:
`crop = image[100:300,100:300].copy()`.

Note: `image[100:300,100:300]` parameters are `y: y+h, x: x+w` not `x: x+w, y: y+h`
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.