遥感影像分类算法C++实现(一)
简述:本文记录一些利用C++处理遥感影像的学习过程与方法,希望各位批评指正
前言
应要求,我们在对遥感影像处理过程中要多加一些编程的思想,初步希望用C++来实现一些对遥感影像的处理,对遥感影像实现简单的分类,为了使知识更加牢固,我用这种方式来记录,加深学习印象。一、VS安装
因为后续需要用到OpenCV库,然而新版本的OpenCV需要用VS2015以上的,建议大家安装VS2015版本之上的,在这里我用的是VS2019版本的编译器.
VS下载官网:https://visualstudio.microsoft.com/zh-hans/downloads/
二、GDAL库
1.下载GDAL库
下载链接:GDAL3.0.1
2.配置GDAL
在上方找到解决方案配置,改成Release与X64
在解决方案资源管理器中找到你的项目,右键选择属性
先点进包含目录
把其中的GDAL的include文件夹加进去,点击确定
把其中的GDAL的include文件夹加进去之后,回到属性页,找到库目录
进入库目录加入gdal的lib文件夹,点击确定
进入左边的连接器中的输入页面,找到附加依赖项,在里面写上gdal_i.lib,就是在gdal下lib文件夹中的文件名gdal_i.lib。
这样环境就配好了
3.环境测试
写入一下的代码(示例:输出仿射变换参数):
#include <iostream>
#include "gdal_priv.h"
using namespace std;
int main() {
GDALAllRegister();
const char* imgPath = "E:\\RSdata\\0809\\wheat\\wheat_s.tif";
GDALDataset* pSrcDS = (GDALDataset*)GDALOpen(imgPath, GA_ReadOnly);
double GeoTransform[6] = { 0 };//初始化
pSrcDS->GetGeoTransform(GeoTransform);
for (int i = 0; i < 6; i++)
{
cout << GeoTransform[i] << endl;
}
}
(输出结果即为仿射变换的六个参数)。