python读取tif图片时保留其16bit的编码格式实例

yipeiwu_com6年前Python基础

tif图片的编码格式一般是16bit的,在使用python-opencv读取tif文件时,为了保留其编码格式,我们需要用以下的方式:

import numpy as np
import cv2

img = cv2.imread('demo.tif', -1)
print(img.dtype)

输出结果为:uint16

对于opencv中imread函数最后的参数解释如下:

当参数>0时,opencv读取的是3通道的彩色图(灰度图也会被默认转化成彩色图),编码格式会转化成8bit

当参数=0时,opencv读取的是1通道灰度图,编码格式会转化成8bit

当参数<0时,opencv会按照原图的格式读取,编码格式会返回16bit的

另外一种读取tif图片的方式是使用tifffile库进行读取,在python中你可以先通过pip安装:

pip install tifffile

然后就可用以下代码读取tif图片了:

import tifffile as tiff
import numpy as np

a = tiff.imread('demo.tif')
print(a.shape)

以上这篇python读取tif图片时保留其16bit的编码格式实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 处理telnet返回的More,以及get想要的那个参数方法

问题: 需要循环获取网元返回的某个参数,并计算出平均值。 解决方案: 通过expect解决返回More的问题。 通过具体的参数位置,精确获取到参数。 讨论: 参数位置固定,不好复用。...

python3利用ctypes传入一个字符串类型的列表方法

c语言里:c_p.c #include <stdio.h> void get_str_list(int n, char *b[2]) { printf("in c s...

解决Python3 控制台输出InsecureRequestWarning问题

解决Python3 控制台输出InsecureRequestWarning的问题 问题: 使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)...

使用Python将数组的元素导出到变量中(unpacking)

解决的问题 需要将数组(list)或元组(tuple)中的元素导出到N个变量中。 解决的方案 任何序列都可以通过简单的变量赋值方式将其元素分配到对应的变量中,唯一的要求就是变量的数量和...

Python 寻找局部最高点的实现

我就废话不多说了,直接上代码吧! # 寻找局部最高点 # 输入input: 含有最高点高度的列表 # 输出output: 返回最高点的位置 # 时间复杂度: O(log(n)) d...