본문 바로가기
Python

[Python] convert uint16 to uint8

by bryan.oh 2021. 5. 28.
반응형

uint16 은 : 0 ~ 65535
uint8 은 0~255 (RGB 에서 사용하는 타입입니다)

uint16에서 uint8 타입으로 변환하는데는 여러 방법이 있지만

normalize를 해야합니다.

단순히 im.astype('uint8') 로 해서는 데이터가 손실됩니다.

 

opencv 사용 : cv2.normalize

im_uint8 = cv2.normalize(im_uint16, None, 0, 255, cv2.NORM_MINMAX, dtype=cv2.CV_8U)

 

Skimage 사용 : img_as_ubyte

rom skimage import exposure, img_as_ubyte
im_uint8 = img_as_ubyte(exposure.rescale_intensity(im_uint16))

 

 

2020.02.07 - [Python] - [python3] opencv 설치 pip

2020.07.30 - [Python] - [해결] skimage.measure.compare_ssim has been moved to skimage.metrics.structural_similarity

 

 

 

728x90
반응형

댓글