Opencv - Reading A 16 Bit Grayscale Image
I'm trying to read a 16 bit grayscale image using OpenCV 2.4 in Python, but it seems to be loading it as 8 bit. I'm doing: im = cv2.imread(path,0) print im [[25 25 28 ..., 0 0
Solution 1:
Figured it out. In case anyone else runs into this problem:
im = cv2.imread(path,-1)
Setting the flag to 0, to load as grayscale, seems to default to 8 bit. Setting the flag to -1 loads the image as is.
Solution 2:
To improve readability use the flag cv2.IMREAD_ANYDEPTH
image = cv2.imread( path, cv2.IMREAD_ANYDEPTH )
Solution 3:
I had the same issue (16-bit .tif loading as 8-bit using cv2.imread). However, using the -1 flag didn't help. Instead, I was able to load 16-bit images using the tifffile package.
Post a Comment for "Opencv - Reading A 16 Bit Grayscale Image"