首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将16位Tiff图像转换为8位RGB

将16位Tiff图像转换为8位RGB
EN

Stack Overflow用户
提问于 2019-06-26 02:34:23
回答 2查看 8.5K关注 0票数 3

我正在处理一些卫星图像,由16位.tiff图像组成。颜色被编码为每通道16位。我想知道如何将这些图像转换为普通的8位RGB,以便进一步处理CNN。

我尝试过OpenCV (cv2.read('file',-1))和PIL (read('file')),但这两个包无法识别和读取16位tiff图像。

EN

回答 2

Stack Overflow用户

发布于 2019-06-26 02:50:16

如果你想要的只是转换,你的.tiff文件的色彩空间到RGB。然后尝试:-

from PIL import Image

img = Image.open(r"Path_to_tiff_image")
img = img.convert("RGB")
img.save(r"path_of_destination_image")

上面的代码首先打开一个.tiff图像,然后将其颜色模式更改为RGB。然后将其保存到目标位置。

票数 3
EN

Stack Overflow用户

发布于 2021-09-23 12:25:59

嘿,我使用了tifffile来处理这个文件,以及我在另一个线程中找到的将16位图像重新缩放到8位的计算。

import numpy as np
import tifffile as tif
import cv2

image = tif.imread('/home/trance/test.tiff')

# Rescale 16-bit to 8-bit
img_rescaled = 255 * (image - image.min()) / (image.max() - image.min())

# Colourising image and saving it with opencv
img_col = cv2.applyColorMap(img_rescaled.astype(np.uint8), cv2.COLORMAP_INFERNO)
cv2.imwrite('/home/trance/test.png', img_col)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56760139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档