遥感专业怎么提高编程能力?首先明确一个问题是:编程要一步一步一个一个的脚印去学,才能学得会,学得好,用得好。其次用编程去解决一些遥感遇到的问题:比如初步(数据处理,模型的计算,地物的分类,定量、定性的反演),高端的是海量数据与数据库结合(Google earth engine给我们展示了一个好例子),当然做一个GEE也不是一两个人能做出来的。现在且说新手如何提高编程能力,完成相应的工作和目的。
第一步,多在网上搜,用google搜,去github上找相关的问题,看看有无相关的资料。最好的情况就是,一边看着别人写的代码,一边看着书本上的公式,二者对应的学习,这个学习遥感编程的方式是最快的一种(个人看来)。
第二步,学一门编程语言,新手还是比较推荐Python语言,万金油语言而且入门简单。
第三步,学习跟自己需要的相关的功能模块,需要什么就去学什么。
第四步,和第三步差不多,不要局限于python,有机会的话也要去学c\c++\java等后端语言,c++中的gdal是遥感编程的核心,gdal集成很多遥感算法,提供了很多直接可以用的算法推荐李民录老师出版的书:gdal源码剖析与开发指南。欧空 ...
1. PyPi 的用途Python 中我们经常会用到第三方的包,默认情况下,用到的第三方工具包基本都是从 Pypi.org 里面下载。
PyPI 是 Python Package Index 的首字母简写,其实表示的是 Python 的 Packag 索引,这个也是 Python 的官方索引。
需要先再本地环境安装 pip,然后如果要安装其他工具包的话就使用指令:
pip install <package name>
2.Python 包发布步骤2.1 创建目录结构创建一个测试项目,例如s22rgb,在该项目下,创建一个待发布的包目录,例如:s22rgb,并在该project_demo目录下,依次创建:setup.py、README.rst几项文件,此时目录结构为:
➜ project_demo tree.
├── README.rst
├── package_mikezhou_talk
│ └── init.py
└── setup.py
2.2 准备文件1、README.rst是关于项目的描述文件,一般包含怎样安装项目,怎样使用项目等。markdown ...
开源地址,如果对你有帮助,欢迎点个Star。
技术路线如下:
1.获取zip文件列表
2.for循环遍历运行,对单个zip解压
3.获取JP2格式的文件列表,jp2文件对应的是其他遥感卫星的tiff文件
4.GDAL读取jp2文件,numpy计算线性变换,这里使用百分之二的线性变换
5.重新组合为三波段矩阵,通过opencv保存为普通的jpg格式
win10 quick install and use:
pip install s22rgb -i https://pypi.python.org/simple
usage:
一个简单的深度学习模型,实现语义分割,将使用“第四届中国模式识别与计算机视觉大会”提供的数据。
对于许多遥感应用,我们使用经过处理的多视合成孔径雷达SAR图像。这些产品代表多个雷达图像的平均强度(或振幅),以减少雷达斑点(多视图)。单视复杂single look complex (SLC)图像,代表来自返回雷达信号的所有信息的原始合成孔径雷达图像。SLC图像由复数形式的像素组成,不仅记录强度(从目标返回的微波信号的能量),还记录信号的相位,相位由目标和雷达天线之间的距离决定。
给定SLC像素的复数:c = a +ib,其中:
i = \sqrt{-1}\\
c = \sqrt{a^2+b^2}表示合成孔径雷达强度图像,而相位角为:
\Psi = arctan(\frac{b}{a}) 干涉合成孔径雷达技术利用合成孔径雷达SLC图像中的相位信息进行地球和行星观测。合成孔径雷达干涉图显示了从近重复轨道拍摄的两幅合成孔径雷达图像中同一物体的相应像素之间的相位差。它将地形表示为干涉条纹。基于这一原理,InSAR技术被开发并成功地用于地形测绘和测量由地震、沉降、火山收缩和冰川流动引起的地形 ...
遥感图像属于数字图像的分支。一般来说,遥感图像的观察对象为地球。随着时间的发展,未来把一系列观察地球的手段应用到别的星球,比如说,地物识别:识别某个星球表面有没有矿、有没有水等等
1.什么是数字图像 图像是物体或场景的图片、照片或任何形式的二维(2D)表示。图像中的信息以色调或颜色呈现。数字图像是数字的二维数组。数字图像的每个单元称为一个像素,代表像素亮度的数字称为数字(DN)。作为2D阵列,数字图像由行和列的数据组成。像素的位置用其行和列来表示。这种规则排列的数据,没有x和y坐标,通常被称为栅格数据。由于数字图像只不过是数据矩阵,因此可以很容易地对数字图像进行数学运算。对数字图像的数学运算称为数字图像处理。
遥感图像和普通图像的区别之一:普通图像一般来说是三个波段(RGB),比如说手机拍摄的照片。遥感图像则是波段数不固定,比如美国的LANDSAT 8、欧盟的SENTINEL 2波段数均大于8个。
2.什么是波段(Band)数字图像数据也可以具有第三个维度:波段,也叫做图层。图层是同一场景的图像,但包含不同的信息。在多光谱图像中,图层是不同光谱范围的图像,称为波段或通 ...
在本教程中,我们将尝试了解机器学习中最重要的算法之一:随机森林算法。我们将看看是什么让随机森林如此特别,并使用 Python 在真实世界的数据集上实现它。 您可以在此处找到代码以及数据集。
集成学习集成方法是一种将来自多个机器学习算法的预测组合在一起以做出比任何单个模型更准确的预测的技术。由许多模型组成的模型称为集成模型。
集成学习主要分为两类:
Boosting 和 Bootstrap
1.BoostingBoosting 是指一组利用加权平均值将弱学习器变成更强学习器的算法。提升是关于团队合作的。每个运行的模型都决定了下一个模型将关注的功能。
顾名思义,提升意味着一个人正在向另一个人学习,这反过来又促进了学习。
2.BootstrapBootstrap 是指有放回的随机抽样。Bootstrap 使我们能够更好地理解数据集中的偏差和方差。自举涉及对数据集中的一小部分数据进行随机抽样。
Bagging 是一种通用过程,可用于降低那些具有高方差的算法的方差,通常是决策树。Bagging 使每个模型独立运行,然后在最后聚合输出而不优先于任何模型。
决策树的问题决策树对训练它们的特定数 ...
linux
未读处理目录的常用命令
sudo 代表是管理员
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 删除文件或目录
rm -rf 删除文件夹
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
git config --global user.name "ytkz11"
git config --global user.email "ytkz11@163.com"
删除原来的python
/usr/bin/
sudo rm -rf python
sudo ln -s /usr/local/bin/python3.5 /usr/bin/python
sudo ap ...
一个简单的深度学习模型,实现语义分割,数据将使用Kaggle的“云层分割卫星影像”。
以下是记录一下在jupyter notebook 上运行的结果
ffmpeg
未读Compress Size Of Vedioffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4
M4a Combine
ffmpeg -i "concat:first.m4a|second.m4a" -c copy out.m4a
FFmpeg 裁剪视频画面ffmpeg -i 1.mp4 -vf crop=480:250:0:40 -threads 5 -preset ultrafast -strict -2 outputname.mp4
m4a combine
ffmpeg -i "concat:0.m4a|1.m4a" -safe 0 -c copy out.m4a
合并左右 , 并且压低画质
ffmpeg -i 9.mp4 -i 10.mp4 -filter_complex hstack -crf 50 output.mp4
压低画质
ffmpeg -i 9.mp4 -crf 50 -threads 1 output.mp4
m4a to aac
ffmpeg -i in.m4a -acodec copy out.aa ...