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

原文地址:https://www.cnblogs.com/cxxszz/p/6916026.html