how to modify image depths in python-opencv

Unlike c++-opencv, Python-OpenCV doesn't have a function like convertTo. But we can modify image data types using Numpy.

For example, we have an image of image depth cv2.CV_64FC1 and we want to change the depth to cv2.CV_8UC1

import numpy as np
# note original_img mustn't have any pixel values smaller than 0
max_pixel=np.amax(original_img)
img=original_img/max_pixel*255
img=img.astype(np.uint8)

Since an image is processed as an array, many functions in OpenCV also have their equivalents in Numpy. And Python-OpenCV is more powerful with the help of Numpy

posted @ 2017-05-28 16:48  yohohoo  阅读(188)  评论(0编辑  收藏  举报