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 判断图像是否读取成功的方法

大批量处理数据时,若因个别图像错误导致代码中断,从头再来比较浪费时间 对未成功读入的图像跳过(读图 import cv2) for i in range(1,1000): imag...

详解如何用OpenCV + Python 实现人脸识别

详解如何用OpenCV + Python 实现人脸识别

下午的时候,配好了OpenCV的Python环境,OpenCV的Python环境搭建。于是迫不及待的想体验一下opencv的人脸识别,如下文。 必备知识 Haar-like 通俗的来讲,...

Java中重定向输出流实现用文件记录程序日志

System中的out,error都是final类型的,不能做改动。但通过setOut()可以设置新的输出流,从而实现写日志的功能。 import java.io.PrintStre...

使用Node.js和Socket.IO扩展Django的实时处理功能

 今天,我们的目标是使用Django,Redis,和Socket.IO建立一个实时的聊天室。虽然几乎所有的Web应用程序都可以建立一个聊天室的。这篇文章将以较高的水平告诉你如何...

python中pass语句用法实例分析

本文实例讲述了python中pass语句用法。分享给大家供大家参考。具体分析如下: 1、空语句 do nothing 2、保证格式完整 3、保证语义完整 4、以if语句为例: C/C++...