OpenCV - 读取16位灰度图像

时间:2012-06-10 14:41:03

标签: python opencv

我正在尝试使用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位?

3 个答案:

答案 0 :(得分:20)

想出来。万一其他人遇到这个问题:

im = cv2.imread(path,-1)

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

答案 1 :(得分:8)

要提高可读性,请使用标记 cv2.IMREAD_ANYDEPTH

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

答案 2 :(得分:4)

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