这几天写的几个算法练习题,马上就要开始读研了,要好好努力啊!!!
言归正传,题一:gdal进行大影像二值化。控制台或者mfc对话框输入一个阈值,对灰度影像(大影像)进行二值化。
#include<stdio.h>
#include<gdal_priv.h>
#include <iostream>
using namespace std;
const int threshold=128;
int main()
{
//初始化GDAL库注册表
GDALAllRegister();
CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO"); //支持中文路径
//输入图像
const char* pInFile = "E:\\1_Mask.tif";
GDALDataset *pInDataSet; //文件指针
pInDataSet = (GDALDataset *)GDALOpen(pInFile, GA_ReadOnly);
if (pInDataSet == NULL)
{
cout << "文件无法打开!\n" << endl;
return 0;
}
int nWidth = pInDataSet->GetRasterXSize(); //图像宽度
int nHeight = pInDataSet->GetRasterYSize(); //图像高度
int nBands = pInDataSet->GetRasterCount(); //波段数
GDALDataType Datatype = pInDataSet->GetRasterBand(1)->GetRasterDat