繁体   English   中英

OpenCV - 读取 16 位灰度图像

[英]OpenCV - Reading a 16 bit grayscale image

我正在尝试使用 Python 中的 OpenCV 2.4 读取 16 位灰度图像,但它似乎将其加载为 8 位。

我正在做:

im = cv2.imread(path,0)
print im

[[25 25 28 ...,  0  0  0]
[ 0  0  0 ...,  0  0  0]
[ 0  0  0 ...,  0  0  0]
..., 

我如何将其设置为 16 位?

弄清楚了。 万一其他人遇到这个问题:

im = cv2.imread(path,-1)

将标志设置为 0,以灰度加载似乎默认为 8 位。 设置为 -1 按原样加载图像。

为了提高可读性,使用标志cv2.IMREAD_ANYDEPTH

image = cv2.imread( path, cv2.IMREAD_ANYDEPTH )

我遇到了同样的问题(使用 cv2.imread 将 16 位 .tif 加载为 8 位)。 但是,使用 -1 标志没有帮助。 相反,我能够使用 tifffile 包加载 16 位图像。

这个问题表明image = cv2.imread('16bit.png', cv2.IMREAD_UNCHANGED)也可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM