(一)Python+GDAL实现BSQ,BIP,BIL格式的相互转换

环境:Windows10专业版 + PyCharm2022.2.3 + Python3.9.1 + GDAL(GDAL-3.4.3-cp39-cp39-win_amd64)

系列文章:

(一)Python+GDAL实现BSQ,BIP,BIL格式的相互转换

(二)BSQ,BIL,BIP存储格式的相互转换算法

(三)单波段图像的伪彩色合成:密度分割(含介绍OpenCV中的Mat类)

(四)图像的%2线性拉伸

(五)图像的标准假彩色合成

(六)图像的直方图均衡化

(七)图像的均值滤波

(八)图像的中值滤波

(九)图像的高斯低通滤波

(十)图像的梯度倒数加权平滑

(十一)图像的罗伯特梯度锐化

(十二)图像的Sobel梯度锐化

(十三)图像的拉普拉斯梯度锐化


目录

一、BSQ,BIP,BIL格式简介

(1)BSQ (band sequential)

(2)BIL(band interleaved by line format)

(3)BIP(band interleaved by pixel format)

二、代码实现

三、实验结果

①BSQtoBIP

②BILtoBSQ

③BILtoBIP


一、BSQ,BIP,BIL格式简介

(插图来源于@CSDN溯水xiangling)

(1)BSQ (band sequential)

像素按波段顺序存储,先保存第一个波段,保存完毕后再保存第二个波段,以此类推。

优点:①便于进行波段间的运算;②便于进行波段间的运算;

(2)BIL(band interleaved by line format)

像素按行存储,先保存第一个波段的第一行,再保存第二个波段的第一行,以此类推。

优点:①像素的空间位置在列的方向上是连续的,既可以形象地表达空间分布特征,又可以反映像素的光谱特征 ;②具有较快的读取速度

(3)BIP(band interleaved by pixel format)

按像元顺序存储,先保存第一个波段的第一个像元,再保存第二个波段的第一个像元,以此类推。

优点:①便于进行像元间的运算;②可以清晰地反映像元的光谱特征;


这三种格式各有优缺点,通常根据具体的应用场景和处理需求来选择合适的格式。例如,BSQ格式适合在读取特定波段时提高效率,因为同一波段的数据连续存储,而BIP和BIL则在需要同时访问多个波段的像素时更为高效。

在实际的数字图像处理中,可能需要将一种格式转换为另一种格式以便于分析或与其他软件兼容。转换这些格式可以通过编程语言结合GDAL库进行转换,或者使用MATLAB编写脚本来实现批量转换;也可以通过数据处理和格式转换的软件或工具。每种格式都有其特定的存储结构和应用场景,在进行格式转换时需要考虑数据的完整性和准确性。由于数据格式的转换可能涉及到大量的数据处理和计算,因此在进行转换时还需要考虑计算机的性能和存储空间等因素。

二、代码实现

# author: jue_chen
# datetime:2022/10/18 20:13
# Attention: 转载,引用请注明出处from osgeo import gdal
import os# 设置PROJ_LIB的环境
os.environ['PROJ_LIB'] = "D:\\AppData\\Python\\Setup\\Lib\\site-packages\\osgeo\\data\\proj"# 原图像8.tif的存储格式为BSQ
srcPath1 = "D:\\Project\\IDEA_Project\\RS01\\src\\rs01\\img\\8.tif"
desPath1 = "D:\\Project\\IDEA_Project\\RS01\\src\\rs01\\img\\8_1.tif"# BSQtoBIP
gdal.Translate(desPath1, srcPath1, creationOptions=["INTERLEAVE=PIXEL"])# 原图像8.3_BIL.tif存储格式为BIL
srcPath2 = "D:\\Project\\IDEA_Project\\RS01\\src\\rs01\\img\\8_3_BIL.tif"
desPath2 = "D:\\Project\\IDEA_Project\\RS01\\src\\rs01\\img\\8_3_BSQ.tif"
desPath3 = "D:\\Project\\IDEA_Project\\RS01\\src\\rs01\\img\\8_3_BIP.tif"# BILtoBSQ
gdal.Translate(desPath2, srcPath2, creationOptions=["INTERLEAVE=BAND"])
# BILtoBIP
gdal.Translate(desPath3, srcPath2, creationOptions=["INTERLEAVE=PIXEL"])

三、实验结果

在ENVI软件里查看,可知转换成功

①BSQtoBIP

②BILtoBSQ

③BILtoBIP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/578435.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue2处理跨域问题

vue中访问springboot中的RestController中的服务 &#xff08;vue.config.js不生效-CSDN博客&#xff09; 1、创建项目 使用vue init webpack my_frontend 创建vue项目 在HelloWorld.vue文件中添加内容&#xff1a; HelloWorld.vue 文件内容&#xff1a; <template>&…

多视图三维重建-SFM简介

背景 掌握传统的多视图三维重建基本流程 总体流程 多视图三维重建的Pipieline如下图&#xff0c;总共分为四个步骤&#xff1a; 拍摄场景多视角的图像建立这些图像之间的联系&#xff08;Data Association&#xff09;SFM稀疏重建MVS稠密重建 Data Association 建立图像…

数据可视化Grafana Windows 安装使用教程(中文版)

1.跳转连接 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/site?url 2.下载应用程序 官网地址&#xff1a;Grafana get started | Cloud, Self-managed, Enterprisehttps://grafana.com/get/ 3.修改配置文件 grafana\conf\defaults 4.启动\bin\目录下serve应用程序 浏…

PyCharm中配置PyQt5并添加外部工具

Qt Designer、PyUIC和PyRcc是Qt框架下的三个重要工具&#xff0c;总的来说&#xff0c;这三个工具各司其职&#xff0c;相辅相成&#xff0c;能显著提升Qt开发的速度与效率。 Qt Designer&#xff1a;是一个用于创建图形用户界面的工具&#xff0c;可轻松构建复杂的用户界面。…

政安晨:【Keras机器学习实践要点】(九)—— 保存、序列化和导出模型

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 这篇文章是保存、序列化和导出模型的完整指南。 …

绿联 安装PDF工具

这是一个强大的本地托管的基于 Web 的 PDF 操作工具&#xff0c;使用 docker&#xff0c;允许您对 PDF 文件执行各种操作&#xff0c;例如拆分、合并、转换、重组、添加图像、旋转、压缩等。这个本地托管的 Web 应用程序最初是 100% ChatGPT 制作的应用程序&#xff0c;现已发展…

【动手学深度学习-pytorch】-9.3深度循环神经网络

到目前为止&#xff0c;我们只讨论了具有一个单向隐藏层的循环神经网络。 其中&#xff0c;隐变量和观测值与具体的函数形式的交互方式是相当随意的。 只要交互类型建模具有足够的灵活性&#xff0c;这就不是一个大问题。 然而&#xff0c;对一个单层来说&#xff0c;这可能具有…

绿联 安装Uptime Kuma - 一款开源的服务器监控和状态检测工具

Uptime Kuma 功能简介 Uptime Kuma 是一款开源的服务器监控和状态检测工具&#xff0c;它帮助您跟踪服务器的可用性、性能和健康状态。 主要功能&#xff1a; 服务器监控 Uptime Kuma 可以监控多个服务器&#xff0c;包括 Web 服务器、数据库服务器、应用程序服务器等。 它会定…

mysql 常见运算符

学习了mysql数据类型&#xff0c;接下来学习mysql常见运算符。 2&#xff0c;常见运算符介绍 运算符连接表达式中各个操作数&#xff0c;其作用是用来指明对操作数所进行的运算。运用运算符 可以更加灵活地使用表中的数据&#xff0c;常见的运算符类型有&#xff1a;算…

什么是搜索引擎(SEO)爬虫它们是如何工作的?

什么是搜索引擎&#xff08;SEO&#xff09;爬虫&它们是如何工作的&#xff1f; 你的网站上有蜘蛛&#x1f577;️。别抓狂&#xff01;我说的不是真正的八条腿的蜘蛛&#x1f577;️。 我指的是搜索引擎优化爬虫。他们是实现SEO的机器人。每个主要的搜索引擎都使用爬虫来…

CXL事务层(续)

3.2 CXL.cache 3.2.1 概览 CXL.cache协议将设备和主机之间的交互定义为多个请求&#xff0c;每个请求至少有一条相关的响应消息&#xff0c;有时还有数据传输。该接口在每个方向上由三个通道组成&#xff1a;请求&#xff08;Request&#xff09;、响应&#xff08;Response&…

前端-css-01

1.CSS 长度单位和颜色设置 1.1CSS 中的长度单位 px 像素 em 字体大小的倍数&#xff08;字体默认是16px&#xff09; % 百分比 1.2CSS 中的颜色设置方式 1.2.1使用颜色名表示颜色 red、orange、yellow、green、cyan、blue、purple、pink、deeppink、skyblue、greenyellow .…