You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将uint8类型图像转换为uint16类型

解决方法

你当前的代码只是执行了类型转换操作,但没有将转换后的结果重新赋值给变量,所以image1和image2的类型不会改变。要真正完成类型转换,需要把转换后的结果赋值回原变量:

import cv2
import numpy as np

image1 = cv2.imread("82.png", 0)
image2 = cv2.imread("83.png", 0)

# 执行类型转换并赋值回变量,完成类型变更
image1 = np.uint16(image1)
image2 = np.uint16(image2)

额外补充:如果你的PNG是8位灰度图,转换为uint16后像素值仍会保持0-255的范围。如果需要将像素值映射到uint16的全范围(0-65535),可以用以下方式:

# 把8位灰度值映射到uint16的完整取值范围
image1 = np.uint16(image1) * 257
image2 = np.uint16(image2) * 257

(注:乘以257是因为255×257=65535,刚好对应uint16的最大值)

内容的提问来源于stack exchange,提问作者user19593840

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 13:24:25