# Image Crop Implementation with CV2 *author: David Wang*
## Description An image crop operator implementation with OpenCV.
## Code Example Crop the face from 'avengers.jpg'. ``` from towhee import pipe, ops, DataCollection p = ( pipe.input('path') .map('path', 'img', ops.image_decode()) .map('img', ('box','score'), ops.face_detection.retinaface()) .map(('img', 'box'), 'crop', ops.image_crop(clamp = True)) .output('img', 'crop') ) DataCollection(p('./avengers.jpg')).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.