在本篇推文中,我们将深入探讨如何使用Python的PyQt5库和GDAL库构建一个图形用户界面(GUI)应用程序,该程序旨在对遥感影像进行色彩增强处理。此应用程序不仅能够处理单个图像文件,还能批量处理文件夹中的多个TIFF文件,同时允许用户自定义色彩增强的程度。
项目背景遥感影像的色彩增强是一种常见的图像预处理技术,用于提高图像的视觉效果,使得特定的地物特征更加突出,便于后续的分析和解读。本项目的目标是创建一个用户友好的界面,使得非专业用户也能轻松地对遥感影像进行色彩增强处理。
技术栈
Python: 编程语言。
PyQt5: 构建跨平台的GUI应用程序。
GDAL: 地理空间数据读取与处理库。
应用程序结构主窗口设计应用程序的主窗口包括以下几个组件:
输入文件/文件夹选择:允许用户选择待处理的单个图像文件或整个文件夹。
输出文件夹选择:指定处理后的文件保存位置。
增强值设置:用户可以自定义色彩增强的程度。
进度条:显示处理进度。
开始处理按钮:启动色彩增强过程。
后台处理逻辑后台处理逻辑主要包括以下步骤:
色彩增强算法:利用NDVI(归一化差值植被指数)和NDWI(归一化差值 ...
https://zhuanlan.zhihu.com/p/629483254
安装好QGIS后,使用pycharm作为开发项目的编辑平台。现在在pycharm中进行配置。
新建项目,如下图所示。
坑:
报错1:
用pyuic5将.ui文件转化为.py文件出现报错,如下:
最终解决办法是:.ui文件名不能有空格。路径名称当中的文件夹名称也不能有空格;比如你的.ui文件在 project program文件夹下面就不能实现转化,得把文件夹名称改为projectprogram
报错2:
不知道为什么由ui文件生成的py文件会带有C++的语法
报错3:
第一次运行python qt时显示:This application failed to start because no Qt platform plugin could beinitialized Reinstalling the application may fix this problemAvailable platform plugins are: direct2d, minimal, offscreen, window ...
在遥感技术的广阔领域中,Sentinel-2卫星以其独特的多波段和高分辨率成像能力脱颖而出,成为环境监测、农业评估、城市规划等多个领域的重要数据来源。然而,Sentinel-2影像的一个显著特点——其拥有三种不同的空间分辨率,使得其数据存储和处理方式与传统遥感影像存在显著差异。本文将深入探讨Sentinel-2影像的这一特殊之处,并解析其数据存储策略背后的考量。
Sentinel-2影像的多分辨率特性Sentinel-2卫星搭载了多光谱成像仪(MSI),能够捕获从可见光到短波红外(SWIR)的多个光谱波段。然而,与许多其他遥感卫星不同,Sentinel-2并非将所有波段数据以相同分辨率记录。如表所示,Sentinel-2的波段涵盖了从443.9nm的蓝色波段到2202.4nm的短波红外2波段,且其空间分辨率分为三种:10米、20米和60米。
10米分辨率波段:主要包括蓝色(B2)、绿色(B3)、红色(B4)和近红外(B8)波段,这些波段对于植被监测、水体识别和地表覆盖分类等应用至关重要。
20米分辨率波段:包括红边波段(B5、B6、B7、B9)和短波红外1波段(B11),这些波段在 ...
将shp文件转换为GeoPackage格式(.gpkg)的过程,可以使用QGIS软件来完成。以下是详细的步骤:
创建GeoPackage数据库文件:
打开QGIS软件。
在浏览面板的GeoPackage上右键,点击“创建数据库…”。
在新建窗口的数据库项输入.gpkg文件的保存路径,直接点击确定即可创建一个后缀为.gpkg的GeoPackage数据库文件。
把shp文件添加到图层面板:
打开资源管理器,在左侧选择“矢量”>“矢量数据集”。
浏览并打开shp文件(仅添加后缀为.shp的文件)。
点击“添加”,即可将shp文件添加到图层面板。
导出到GeoPackage数据库:
在想导出的shp图层上右击。
选择“导出”>“另存要素为…”。
在弹出的窗口中,选择格式为GeoPackage。
选择上面创建的后缀为.gpkg的文件。
填写图层名称,点击“OK”即可将shp文件导入到GeoPackage数据库。
python如何通过代码实现shp文件转换为gkpg文件呢?请看下面代码。
#!/usr/bin/env python
# -*- co ...
python
未读最近换了一台新电脑,需要重新安装python及python库。
这时候必须做的一件事情。
建议所有在国内的、使用python的人,都进行这个操作:给 pip 换国内源。
讲解pip 换国内源的必要性前,得了解一个概念:什么是pip源。
什么是pip源pip 是 Python 的包管理器,用于安装、升级和卸载 Python 软件包。在使用 pip 安装软件包时,它会从指定的源(repository 或 index)下载包的文件。这个源通常被称为“pip源”。
默认情况下,pip 使用 Python Package Index (PyPI) 作为源,这是 Python 社区维护的一个公开的软件包仓库,包含了大量可用的 Python 软件包。然而,由于网络问题,如速度慢、连接不稳定或者地域限制,用户可能无法高效地从 PyPI 下载包。
为了解决这些问题,可以使用“镜像源”(mirror sources)。镜像源是复制了 PyPI 数据的服务器,通常由不同的组织或个人维护,目的是提供更快的下载速度和更稳定的连接。
常见的镜像源包括:
豆瓣镜像:https://pypi.douban.com/ ...
python
未读最近换了一台新电脑,需要重新安装python及python库。
这时候必须做的一件事情。
建议所有在国内的、使用python的人,都进行这个操作:给 pip 换国内源。
讲解pip 换国内源的必要性前,得了解一个概念:什么是pip源。
什么是pip源pip 是 Python 的包管理器,用于安装、升级和卸载 Python 软件包。在使用 pip 安装软件包时,它会从指定的源(repository 或 index)下载包的文件。这个源通常被称为“pip源”。
默认情况下,pip 使用 Python Package Index (PyPI) 作为源,这是 Python 社区维护的一个公开的软件包仓库,包含了大量可用的 Python 软件包。然而,由于网络问题,如速度慢、连接不稳定或者地域限制,用户可能无法高效地从 PyPI 下载包。
为了解决这些问题,可以使用“镜像源”(mirror sources)。镜像源是复制了 PyPI 数据的服务器,通常由不同的组织或个人维护,目的是提供更快的下载速度和更稳定的连接。
常见的镜像源包括:
豆瓣镜像:https://pypi.douban.com/ ...
概述GeoJSON 是一种使用 JavaScript 对象表示法(JSON)编码各种地理数据结构的格式。本技术文档概述了如何在 Python 中处理 GeoJSON 对象,特别是重点介绍点(Point)、线(LineString)和多边形(Polygon)在 GeometryCollection 中的使用。
GeoJSON 结构GeoJSON 对象可以表示各种几何形状,例如点、线串和多边形。这些几何形状可以在 GeometryCollection 中组合使用。
示例 GeoJSON 对象gc = {
"type": "GeometryCollection",
"geometries": [
{
"type": "Point",
"coordinates": [-89.33, 30]
},
{
"type": "LineString",
"coordinates": [
[-89.33, 30.3] ...
安装教程地址:
https://geo-sam.readthedocs.io/en/latest/installation.html#install-the-geo-sam-plugin
从开始菜单以管理员身份打开OSGeo4W Shell 应用程序,它是 QGIS 的专用 shell。
pip3 install torch torchvision torchgeo segment-anything rasterio
python
未读类型在python中,一切都是对象,每个对象都有一个类型。
检查对象类型的常用方式。
<type> = type(<el>) 或 <el>.__class__:
这两行代码都是获取对象的类型。type(<el>)会返回<el>的类型,而<el>.__class__会返回类类型。这两种方法都可以用来确定一个对象的类型。
例如,如果我们有一个字符串"Hello, world!",我们可以这样获取它的类型:
s = "Hello, world!"
print(type(s)) # 输出:<class 'str'>
print(s.__class__) # 输出:<class 'str'>
这两行代码都会输出<class 'str'>,表示s是一个字符串类型。
<bool> = isinstance(<el>, <type>) 或 issubclass(type(<el>), <type>):
这两行代码都是检查一个 ...




