# Image Decode Implementation with CV2
*author: Kaiyuan Hu, Rentong Guo*
## Description
An image decode operator implementation with OpenCV.
## Code Example
Load a image from path './src_dog.jpg'.
the src picture:
*Write the pipeline in simplified style:*
```python
from towhee import pipe, ops, DataCollection
# decode image, in bgr channel order
p = (
pipe.input('url')
.map('url', 'image', ops.image_decode.cv2())
.output('image')
)
# decode image, in rgb channel order
p2 = (
pipe.input('url')
.map('url', 'image', ops.image_decode.cv2('rgb'))
.output('image')
)
# decode from path
DataCollection(p('./src_dog.jpg')).show()
# decode from bytes
with open('./src_dog.jpg', 'rb') as f:
DataCollection(p2(f.read())).show()
```
## Factory Constructor
Create the operator via the following factory method:
***ops.image_decode.cv2()***
**mode**: *str*
BGR or RGB, default is BGR
## Interface
An image decode operator takes an image path as input. It decodes the image back to ndarray.
**Parameters:**
**img**: *str*
Local file path/http url/image bytes.
**Returns**: *towhee.types.Image (a sub-class of numpy.ndarray)*
The decoded image data as numpy.ndarray.