GDAL的学习——gdal转Mat

本文介绍了如何利用GDAL读取图像并转换为OpenCV的Mat类型,以便进行图像处理,同时提供将处理后的Mat图像转换回GDAL并保存的方法。注意在转换过程中,图像数据类型和地理坐标需保持一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了网上众多的资料,发现gdal对于图像处理不是那么的方便,遂选择使用opencv实现对图像的处理,但是opencv对于图像格式的灵活度又没有gdal来的这么方便,所以将两者结合,实现最终图像处理的目的。
这里主要贴上两个函数。
第一个是将图像用GDAL读进来,然后转换成opencv的Mat型,便可以对图像的行列进行灵活的处理。
第二个函数是将Mat类型的图像,转换成GDAL,然后再保存出来。

#include <iostream>
#include <gdal.h>
#include <gdal_priv.h>
#include <opencv.hpp>

using namespace std;
using namespace cv;

struct Info
{
   
   
 double adfGeoTransform[6] = {
   
    0 };
 const char* proj = "";
};

Mat GdaltoMat(const char*filename,Info &St);
bool MatToFile(Mat dst, Info &St, const char*outputpath);

int main()
{
   
   
 const char*img = "D:\\img.tif";
 const char*pdst = "D:\\pdst.tif";
 Info St;
 Mat dst=GdaltoMat(img, St);
 MatToFile(dst, St, pdst);
 return 0;
}

Mat GdaltoMat(const char*filename,Info &St)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值