# Image Crop Implementation with CV2
*author: David Wang*
## Description
An image crop operator implementation with OpenCV.
## Code Example
Crop the face from 'einstein.jpg'.
```python
import towhee
bboxes = towhee.glob['path']('einstein.jpg') \
.image_decode['path', 'img']() \
.face_detection.retinaface['img', ('box','score')]()\
.image_crop[('img', 'box'), 'crop'](clamp = True)\
.select['img','crop']()\
.show()
```
## Factory Constructor
Create the operator via the following factory method
***image_crop(clamp = True)***
**Parameters:**
**clamp:** *bool*
If set True, coordinates of bounding boxes would be clamped into image size.
## Interface
An image crop operator takes an image and bounding boxes as input. It cropes the image into ROIs(region of interest).
**Parameters:**
**img:** *towhee.types.Image (a sub-class of numpy.ndarray)*
The image need to be cropped.
**bboxes:** *numpy.ndarray*
The nx4 numpy tensor for n bounding boxes need to crop, each row is formatted as (x1, y1, x2, y2).
**Returns**: *towhee.types.Image (a sub-class of numpy.ndarray)*
The cropped image data as numpy.ndarray.