基于GDAL的多波段图像压缩及二值分割

多波段图像压缩及二值分割

内容概述

将多波段各个像素灰度值加和,并且在保留仿射参数和投影信息情况下生成单波段图像,用于经典算法(otsu,em等)本文将以otsu为例,生成简单二值图像
原基于pie二次开发,摘取部分函数算法成文,记录学习过程,有需求的话后续会分享pie二次开发学习过程

环境

语言:C++【100%】
vs版本:【2015】
GDAL版本:【2.3.X】
OPENCV版本:【3.x】

多波段图像压缩

将多波段各个像素灰度值加和,并且在保留仿射参数和投影信息情况下生成单波段图像,用于经典算法(otsu,em等)本文将以otsu为例

代码部分

注释标注的还算全面

头文件

#pragma once
#define BYTE unsigned char

class Arr
{
   
public:
	int imgX = 0;
	int imgY = 0;
	GDALDataType datatype;
	
	double* EndArr = new double[imgX * imgY];
	BYTE *EndImg = (BYTE *)CPLMalloc(sizeof(double)*imgX*imgY);

};


void GdalAlgo(const char* filepath1, const char* filepath2, Arr &arr);

源文件

#include "gdal_priv.h"
#include"Algo.h"
#include<iostream>  

using namespace std;


void toGeoCoord(int x, int y, double* coords, double* transform)
{
   
	coords[0] = transform[0] + x * transform[1] + y * transform[2];
	coords[1] = transform[3] + x * transform[4] + y * transform[5];
}

void GdalAlgo(const char* filepath1, const char* filepath2, Arr &arr)
{
   
	GDALAllRegister
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值