脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python读取tif图片时保留其16bit的编码格式实例

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

2020-04-26 09:44imaginist233 Python

今天小编就为大家分享一篇python读取tif图片时保留其16bit的编码格式实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

?
1
2
3
4
5
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安装:

?
1
pip install tifffile

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

?
1
2
3
4
5
import tifffile as tiff
import numpy as np
 
a = tiff.imread('demo.tif')
print(a.shape)

以上这篇python读取tif图片时保留其16bit的编码格式实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/weixin_43155243/article/details/100577772

延伸 · 阅读

精彩推荐