16位图转8位图 (python) import cv2 import numpy as np import os from PIL import Image path=r"E:\\AI_datas\\3-16Bit\\3" save_path=r"E:\\AI_datas\\3-16Bit\\4" for name in os.listdir(path): if name.split('.')[-1]=='tif': new_path=os.path.join(path,name) uint16_img = cv2.imread(new_path,-1) #uint16_img1 = Image.open(new_path) #Image_p=Image.fromarray(uint16_img) uint16_img -= uint16_img.min() uint16_img = uint16_img / (uint16_img.max() - uint16_img.min()) uint16_img *= 255 new_uint16_img = uint16_img.astype(np.uint8) # M=cv2.getRotationMatrix2D((uint16_img.shape[0]/2,uint16_img.shape[1]/2),45,0.8) # uint16_img=cv2.warpAffine(uint16_img,M,(cols, rows)) basename=name.split('.')[0] # uint16_img=Image.fromarray(uint16_img) # uint16_img.save(os.path.join(save_path,basename)+'.png') cv2.imwrite(os.path.join(save_path,basename)+'.bmp', uint16_img) print(os.path.join(save_path,name)) # cv2.waitKey(0)