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

yipeiwu_com5年前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解析xml模块封装代码

有如下的xml文件: 复制代码 代码如下:<?xml version="1.0" encoding="utf-8" ?>  <root>  &...

Python中浅拷贝copy与深拷贝deepcopy的简单理解

以下是个人对Python深浅拷贝的通俗解释,易于绕开复杂的Python数据结构存储来进行理解! 高级语言中变量是对内存及其地址的抽象,Python的一切变量都是对象。 变量的存...

在Django框架中编写Contact表单的教程

虽然我们一直使用书籍搜索的示例表单,并将起改进的很完美,但是这还是相当的简陋: 只包含一个字段,q。这简单的例子,我们不需要使用Django表单库来处理。 但是复杂一点的表单就需要多方面...

Python异常的检测和处理方法

捕获异常 # 对数字变量使用append操作 a = 123 a.apppend(4) 执行这个程序时,会抛出: AttributeError: 'int' object h...

Python的Bottle框架中获取制定cookie的教程

这两天为用bottle+mongodb写的一个项目加上登录功能,无奈怎么都获取不到保存的cookie,文档给出让我们这样操作cookie的代码片段: @route('/login')...