利用opencv读取tif 文件

#导入cv模块
import cv2 as cv
import numpy as np
#读取图像,支持 bmp、jpg、png、tiff 等常用格式
#第二个参数是通道数和位深的参数,有四种选择
img = cv.imread("filename.tif",2)
print img
#在这里一开始我写成了img.shape(),报错因为img是一个数组不是一个函数,只有函数才可以加()表示请求执行
print img.shape
print img.dtype
print img.min()
print img.max()
#创建窗口并显示图像
cv.namedWindow("Image")
cv.imshow("Image",img)
cv.waitKey(0)#释放窗口
cv.destroyAllWindows()

对于cv2,imread的关于通道数和位深的flags有四种选择:

IMREAD_UNCHANGED = -1#不进行转化,比如保存为了16位的图片,读取出来仍然为16位。
IMREAD_GRAYSCALE = 0#进行转化为灰度图,比如保存为了16位的图片,读取出来为8位,类型为CV_8UC1。
IMREAD_COLOR = 1#进行转化为RGB三通道图像,图像深度转为8位
IMREAD_ANYDEPTH = 2#保持图像深度不变,进行转化为灰度图。
IMREAD_ANYCOLOR = 4#若图像通道数小于等于3,则保持原通道数不变;若通道数大于3则只取取前三个通道。图像深度转为8

PIL读取图像

from PIL import Image
im = Image.open("filename")

支持单通道及多通道Uint8 TIFF图像读取,读取单通道Uint16 TIFF图像转为Uint8处理,直接读取Uint16 TIFF图像会报错。

LIBTIFF包读取保存图像

from libtiff import TIFF
# to open a tiff file for reading:tif = TIFF.open('filename.tif', mode='r')
# to read an image in the currect TIFF directory and return it as numpy array:image = tif.read_image()
# to read all images in a TIFF file:for image in tif.iter_images(): # do stuff with image
# to open a tiff file for writing:tif = TIFF.open('filename.tif', mode='w')
# to write a image to tiff filetif.write_image(image)

scikit包读取保存图像

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from skimage import io
img = io.imread('testimg.tif')
import numpy as np
data=np.random.random([100,100])
io.imsave('rand_data.tif',np.float32(data))

imageio包读取保存图像

import imageio
im = imageio.imread('imageio:chelsea.png')  # read a standard image
im.shape  # im is a numpy array (300, 451, 3)
imageio.imwrite('~/chelsea-gray.jpg', im[:, :, 0])

misc包读取保存图像

from scipy import misc# 读入已有图像,数据类型和原图像一致
tif32 = misc.imread('.\test\lena32.tif') #<class 'numpy.float32'="">
tif16 = misc.imread('.\test\lena16.tif') #<class 'numpy.uint16'="">
tif8 = misc.imread('.\test\lena8.tif') #<class 'numpy.uint8'="">#保存图像
misc.imsave('.\test\lena32_scipy.tif', tif32) #--> 8bit(tif16和tif8同)
misc.imsave('.\test\\randmat64_scipy.tif', flt) #--> 8bit
misc.imsave('.\test\\randmat8_scipy.tif', z8) #--> 8bit(z16和z32同)

Python 各种读取保存tif,tiff,png,jpg,mat等格式图像方法大集合相关推荐

  1. matlab打开dat形式文件_matlab的各种数据读取(txt,dat,mat等格式),文件打开关闭...

    MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至于选择哪种机制,则根据下面两个因素决定: ● 用 ...

  2. python中tkinter模块窗口操作_Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)...

    本篇博文搬到个人博客:[洪卫の博客](https://sunhwee.com)上面去了,想要获得最佳阅读体验,欢迎前往 [https://sunhwee.com](洪卫の博客), 建议用电脑查看教程文 ...

  3. python程序保存_初识python 文件读取 保存

    上一章最后一题的答案: infors.sort(key=lambda x:x['age']) print(infors) --->[{'name': 'laowang', 'age': 23}, ...

  4. python cv2读取图片后进行通道变换以及PIL阅读图像的通道转换

    读取的 图片的格式是HxWx3,像素值在0-1之间 img = cv2.imread('b.png') print(img.shape) img = img.permute(2,0,1) #如果进行H ...

  5. python cv2读取图片/图片转码/切图/图片格式转换/替换图片内容

    import base64 import cv2 import numpy as np from io import BytesIOclass ImageOperation(object):def _ ...

  6. python如何读取字典的关键字_python提取字典key列表的方法

    python提取字典key列表的方法 更新时间:2015年07月11日 12:04:48 作者:企鹅不笨 这篇文章主要介绍了python提取字典key列表的方法,涉及Python中keys方法的使用技 ...

  7. python读取txt文件为dataframe,python批量读取txt文件为DataFrame

    我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作.比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢? 首先我们要 ...

  8. python读取多个excel表_python 实现读取一个excel多个sheet表并合并的方法

    python 实现读取一个excel多个sheet表并合并的方法 如下所示: import xlrd import pandas as pd from pandas import DataFrame ...

  9. 用c语言读取固定大小的raw格式图像并统计灰度值

    目的: 1.读取[256*256]大小的raw格式图像 2.统计灰度值 3.将结果写回result.txt 代码: 方法一 #include<stdio.h> #include<st ...

最新文章

  1. js导入导出总结与实践
  2. 查看目录中的内容及权限
  3. akka actor java_现代化的Java(三)——从Hello Akka说起
  4. 【AIX】AIX 开机自动挂载NFS共享
  5. AutoMapper学习笔记
  6. shell基础之综合练习
  7. 你要的 React 面试知识点,都在这了
  8. 接口测试用例设计思路_最全测试用例设计方法~思路分析
  9. 气球java游戏_50个室内趣味游戏活动
  10. java使用itextpdf生成 pdf (支持table)分页
  11. Java面试之Java基础篇(offer 拿来吧你)
  12. 支付机构违规已成常态 盛付通再次被央行处罚
  13. PS 滤镜——旋转模糊
  14. 驰名世界的奢侈品牌史话:巴宝莉(Burberry)
  15. k8s 安装ingress nginx controller 并部署.net core ingress服务
  16. CRUSH与PG分布
  17. 软件工程应用与实践(1)——项目简介,小组分工
  18. canvas五彩斑斓的粒子动画js特效
  19. 对话依图医疗总裁倪浩:AI 产品只是第一步,未来要和医院制定中国儿童骨龄新标准...
  20. linux gdb网络调试,一文入门Linux下gdb调试(二)

热门文章

  1. wallfall瀑布流的jq实现
  2. jQuery多库共存问题解决方法
  3. HDU 1618 Oulipo KMP解决问题的方法
  4. iframe cross domain
  5. ABAP-AVL-OO方法中的ALV的如何自己添加按钮及其响应
  6. Bapi-BAPI_GOODSMVT_CREATE【该物料不可能有库存记帐】
  7. SAP JCO connector 例子
  8. 关于ABAP高级顾问应该掌握的技术
  9. Hiveduino编程电子积木平台产品介绍宣传视频
  10. SM12表条目冻结说明