去年工作中,有用到tiff图像处理。开始的时候直接用QT的Qimage进行图像加载。然后发现大的TIFF图像用这个加载不进去。寻找原因,是由于TIFF图像分为标准TIFF和BIG TIFF两种格式,而QT的Qimage只支持标准的格式。
然后,用GDAL库支持BIG TIFF格式读取。然后发现在TIFF文件很大的时候在new内存的时候,常常发生电脑卡死的情况。又开始了分块读入TIFF图像。
最终的读取方式:

.........
GDALAllRegister();          CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");  //支持中文路径GDALDataset* poDataset = (GDALDataset *)GDALOpen(imgPath, GA_ReadOnly);if (poDataset == nullptr){// "Can't Open Image!" this->allowClose = true;return ;}..........poDataset->RasterIO(GF_Read, ImgK_Px_min, ImgK_Py_max, crop_width, crop_height,data3, crop_width, crop_height, GDT_Byte, band_count, pBandMap, band_count, crop_width*band_count, 1);............

从(ImgK_Px_min,ImgK_Py_max)点读取长宽为(crop_width,crop_height)的一块矩形图像。RasterIO(…,band_count, crop_width*band_count, 1)代表的是按照一行一行的进行数据存储到data3这个buffer里面。

另外,在调试过程中,注意,最后一块和开头一块的起始和结束位置。起始像素是(0,0),结束像素是(imgWidth-1,imgHeight-1)。

TIFF文件读取总结相关推荐

  1. tiff文件读取若干问题

    tiff文件读取使用开源的libtiff库,可以在官网上下载相关代码,win下编译可以参考网上教程,总之编译与路径设置过程不复杂,这里主要是使用库文件报错的解决办法. 1.找不到msvcr90.dll ...

  2. python读取tiff文件进行波段计算_python+tifffile之tiff文件读写方式

    背景 使用python操作一批同样分辨率的图片,合并为tiff格式的文件. 由于opencv主要用于读取单帧的tiff文件,对多帧的文件支持并不好. 通过搜索发现了两个比较有用的包:TiffCaptu ...

  3. GeoTools读取Tiff文件

    最近有个需求,要使用GeoServer自动发布InSAR处理的Tiff文件结果,基本思路: (1)上传TIFF文件,通过GeoServer REST API发布成WMTS服务: (2)使用GeoToo ...

  4. python读取tiff影像_python+tifffile之tiff文件读写方式

    背景 使用python操作一批同样分辨率的图片,合并为tiff格式的文件. 由于opencv主要用于读取单帧的tiff文件,对多帧的文件支持并不好. 通过搜索发现了两个比较有用的包:TiffCaptu ...

  5. python读取tiff文件_python+tifffile之tiff文件读写方式

    背景 使用python操作一批同样分辨率的图片,合并为tiff格式的文件. 由于opencv主要用于读取单帧的tiff文件,对多帧的文件支持并不好. 通过搜索发现了两个比较有用的包:TiffCaptu ...

  6. [MATLAB学习tip3]geotiff(tif/tiff)文件读取、使用与保存

    tiff文件简述: tif和tiff是同类文件不同表述,仅是拓展名写法不同:但是geotiff文件与tiff文件存在轻微不同,如下: 在tiff格式上加载了地理信息,就成为了我们使用频繁的geotif ...

  7. python批量读取tiff文件_Python图像分析:从共焦显微镜读取多维TIFF文件

    我不确定'hyperstack to stack'函数是否是您想要的.超stack是简单的多维图像,可以是4D或5D(宽度.高度.切片.通道(例如,3个用于RGB)和时间帧).在ImageJ中,每个维 ...

  8. 后缀为.adf 文件读取,转化为tiff(shp)格式,并输出netcdf格式的数据

    .adf文件读取,转化为shp或者tif格式,并输出Netcdf格式的数据文件 使用工具为arcgis,本人安装的是arcgis10.8,安装包可自行下载,或者私信我. 以海报高度地形数据的读取为例 ...

  9. Java GUI编程:swing实现上传tiff文件至hdfs功能

    上传tiff文件至hdfs pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns ...

  10. 保存多序列tiff文件_解码TIFF文件

    0 引言 最近想在Unity中加载一张TIFF图片,因为该图片存储的是海洋流场数据,所以每个像素存的是四通道的32位float,并且还采用了LZW压缩.在网上找了很多读取TIFF文件的代码,也试了下载 ...

最新文章

  1. 捣鼓 Subversion
  2. 自动控制matlab实验,自动控制matlab实验.doc
  3. Product not scheduled in sales organization XXX,distribution channel
  4. NeHe OpenGL第四十六课:全屏反走样
  5. 小米9疑似入网工信部 官宣暗示发布时间
  6. [贪心算法] 例6.2 今年暑假不AC
  7. 【洛谷P3369】【模板】普通平衡树题解
  8. 应届毕业生如何打破面试焦虑
  9. Asymptotic efficiency of nonparametric tests笔记(正在进行中)
  10. c++中引用、指针、值的区别与用途详解
  11. arduino期末考试题
  12. 弘辽科技:拼多多店铺层级会掉吗?怎么划分?
  13. nginx 开机启动报错An error occurred.
  14. Swift 标准库源码 第三方,Almofire,Kingfisher,SwiftyJson,KakaJson,单元测试 request
  15. 关于 使用python向qq好友发送消息(对爬虫的作用----当程序执行完毕或者报错无限给自己qq发送消息,直到关闭)...
  16. java csv下载_java实现csv文件下载
  17. C语言:如何判断回文数
  18. 浏览器输入baidu.com加载的过程是什么,听完我的回答和尚摇了摇头,就这?
  19. PHP_thinkPHP框架(1)
  20. r语言读取C盘的csv文件,R语言开发之CSV文件的读写操作实现

热门文章

  1. 关于K2路由破解锐捷校园认证这件事(ZZU版)
  2. 试验设计(DOE)方法及其关键工具
  3. Isight多学科参数优化软件模块构成
  4. Elasticjob安装与入门
  5. 如何管理和组织一个机器学习项目
  6. 管螺纹如何标注_螺纹基础知识,螺纹的种类,螺纹的要素和螺纹的画法
  7. c语言处理系统步骤,c语言源代码【处理步骤】
  8. 第4章 项目整体管理 与 第16章 项目变更管理
  9. 常用HSQL汇总(不定时添加)
  10. 软件生成问候图片_设计师注意啦!欧美风双色图片一键生成的软件来啦!