我正在尝试使用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]
...,
Run Code Online (Sandbox Code Playgroud)
我怎么得到16位?
Kko*_*kov 25
弄清楚了.万一其他人遇到这个问题:
im = cv2.imread(path,-1)
Run Code Online (Sandbox Code Playgroud)
将标志设置为0,以灰度加载似乎默认为8位.设置为-1会"按原样"加载图像.
Tho*_*mio 12
要提高可读性,请使用标志cv2.IMREAD_ANYDEPTH
image = cv2.imread( path, cv2.IMREAD_ANYDEPTH )
Run Code Online (Sandbox Code Playgroud)
小智 5
我遇到了同样的问题(使用cv2.imread将16位.tif加载为8位)。但是,使用-1标志没有帮助。相反,我能够使用tifffile包加载16位图像。