使用模板函数进行遥感图像处理
来源:互联网 发布:沈阳电明数据恢复 编辑:程序博客网 时间:2024/06/05 15:28
开发环境:win7,GDAL,VS2010,QT4.7
遥感图像的数据类型多种,如何使用模板函数进行方便处理呢?我的处理方式如下:
class c {public:void computeScatter(int nBandx,int nBandy,int xScale,int yScale, QVector<QVector<int>> &vecScatter,double *pMinMaxX,double *pMinMaxY);private: template <class T> void computeScatterPriv(int nBandx,int nBandy,int xScale,int yScale, QVector<QVector<int>> &vecScatter,double *pMinMaxX,double *pMinMaxY);}C::computeScatter(int nBandx,int nBandy,int xScale,int yScale, QVector<QVector<int>> &vecScatter,double *pMinMaxX,double *pMinMaxY){ int nBandCount=getBandCount(); if(nBandCount<=0) return ; int dataType=getDataType(nBandx); switch(dataType) { case GDT_Byte: computeScatterPriv<unsigned char>(nBandx,nBandy,xScale,yScale,vecScatter,pMinMaxX,pMinMaxY); break; case GDT_UInt16: computeScatterPriv<unsigned short int>(nBandx,nBandy,xScale,yScale,vecScatter,pMinMaxX,pMinMaxY); break; case GDT_Int16: computeScatterPriv<short int>(nBandx,nBandy,xScale,yScale,vecScatter,pMinMaxX,pMinMaxY); break; case GDT_UInt32: computeScatterPriv<unsigned int>(nBandx,nBandy,xScale,yScale,vecScatter,pMinMaxX,pMinMaxY); break; case GDT_Int32: computeScatterPriv<int>(nBandx,nBandy,xScale,yScale,vecScatter,pMinMaxX,pMinMaxY); break; case GDT_Float32: computeScatterPriv<float>(nBandx,nBandy,xScale,yScale,vecScatter,pMinMaxX,pMinMaxY); break; case GDT_Float64: computeScatterPriv<double>(nBandx,nBandy,xScale,yScale,vecScatter,pMinMaxX,pMinMaxY); break; }} template <class T>void C::computeScatterPriv(int nBandx,int nBandy,int xScale,int yScale, QVector<QVector<int>> &vecScatter,double *pMinMaxOutX,double *pMinMaxOutY) { T*=new T[20];//......//自己的处理//.... }
在使用时使用调用computeScatter函数即可,可以对不同数据类型的遥感数据进行处理。
注意:写加减乘除时要注意越界的问题,具体请看一个使用模板函数进行遥感图像处理易犯但不易调试的错误
4 0
- 使用模板函数进行遥感图像处理
- 一个使用模板函数进行遥感图像处理易犯但不易调试的错误
- 使用模板函数特化提升遥感图像处理效率
- 遥感图像处理流程
- 遥感图像处理流程 .
- 遥感图像处理
- 遥感图像处理流程
- 遥感图像滤波处理
- 遥感图像处理步骤
- 使用GDI+进行图像处理
- 使用CImage进行图像处理
- 使用pillow进行图像处理
- 使用python进行图像处理
- 使用python进行图像处理
- 对遥感图像进行2%线性拉伸
- 使用 Java 进行图像处理 - 图像缩放
- 使用 Java 进行图像处理 - 图像裁剪
- 使用 Java 进行图像处理 - 图像翻转
- 嵌入式linux开发——开发环境搭建(NFS共享, 交叉编译)
- STL 之 list
- 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法(转载)
- 《一步一步写嵌入式操作系统——ARM编程方法与实践》读书笔记(第三章)
- openGl API说明
- 使用模板函数进行遥感图像处理
- VS2012下boost 配置与使用
- sqlplus登录报错TNS-12547: TNS:lost contact
- 输出斐波那契数列的算法
- 应该重新审视的javascript
- CoffeeScript 简介与安装步骤概览
- 数据库索引
- linux---ext3grep---防止误删的工具
- 5个国内优秀网站