I tried to open a 12 bits TIFF image with python opencv (cv2) as follow:
cv2 recognises the image 1.TIF (12 bits TIFF) as 8 bits image, as the console output is:
uint8 <type 'numpy.ndarray'>
uint8 <type 'numpy.ndarray'>
uint16 <type 'numpy.ndarray'>
may be a flag issue in cv2.imread...
From Stackoverflow, or from the cv2 doc, the image must be loaded "as it is" with a flag set to -1:
The image loaded with cv2.imread can be then displayed as any numpy.ndarray with skimage:
# -*- coding: utf-8 -*-
"""
Created on Wed Jun 20 09:35:31 2012
"""
import cv2
import skimage.io as sio
png = cv2.imread('/home/simon/QFISH/JPPAnimal/JPP52/11/DAPI/particles/part9.png')
tif = cv2.imread('/home/simon/QFISH/JPPAnimal/JPP52/11/DAPI/1.TIF')
tiff = sio.imread('/home/simon/QFISH/JPPAnimal/JPP52/11/DAPI/1.TIF')
print png.dtype, type(png)
print tif.dtype, type(tif)
print tiff.dtype, type(tiff)
sio.imshow(tiff)
sio.show()
cv2 recognises the image 1.TIF (12 bits TIFF) as 8 bits image, as the console output is:
uint8 <type 'numpy.ndarray'>
uint8 <type 'numpy.ndarray'>
uint16 <type 'numpy.ndarray'>
From Stackoverflow, or from the cv2 doc, the image must be loaded "as it is" with a flag set to -1:
tif = cv2.imread('/home/simon/QFISH/JPPAnimal/JPP52/11/DAPI/1.TIF', -1)
The image loaded with cv2.imread can be then displayed as any numpy.ndarray with skimage:
No comments:
Post a Comment