代码实现将 16 位图像转换为 8 位图像
时间: 2024-05-05 08:16:18 浏览: 99
利用c++将16位图像转换为8位图像,支持批量
5星 · 资源好评率100%
以下是Python代码实现将16位图像转换为8位图像的方法:
```python
import numpy as np
import cv2
# 读取16位图像
img = cv2.imread('16bit_image.tif', cv2.IMREAD_UNCHANGED)
# 将16位像素值缩放到0~255之间
img_8bit = cv2.normalize(img, None, 0, 255, cv2.NORM_MINMAX, cv2.CV_8U)
# 保存为8位图像
cv2.imwrite('8bit_image.tif', img_8bit)
```
首先使用OpenCV的`imread`函数读取16位图像,使用参数`cv2.IMREAD_UNCHANGED`保留原始的16位像素值。然后将像素值缩放到0~255之间,使用`normalize`函数实现。最后使用`imwrite`函数保存为8位图像。
阅读全文