16bit转8bit代码
时间: 2023-08-03 10:07:22 浏览: 281
一种关于16bit转8bit位宽转换的实现
16位图像转8位图像可以使用下面的代码实现,其中假设16位图像的像素值范围在[0,65535]之间,将其缩放到[0,255]之间,然后将其转换为8位图像:
```
import cv2
import numpy as np
# 读取16位图像
img = cv2.imread('16bit_image.tif', cv2.IMREAD_UNCHANGED)
# 将像素值缩放到[0,255]之间
img_scaled = cv2.normalize(img, None, 0, 255, cv2.NORM_MINMAX, cv2.CV_8U)
# 将16位图像转换为8位图像
img_8bit = np.uint8(img_scaled)
# 保存8位图像
cv2.imwrite('8bit_image.tif', img_8bit)
```
其中,normalize()函数用于将像素值缩放到指定的范围内,np.uint8()函数用于将数组转换为8位整型数据类型。
阅读全文