VS+Qt+C++ GDAL读取tif图像数据显示

程序示例精选
VS+Qt+C++ GDAL读取tif图像数据显示
如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对《VS+Qt+C++ GDAL读取tif图像数据显示》编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


运行结果


文章目录

一、所需工具软件
二、使用步骤
       1. 主要代码
       2. 运行结果
三、在线协助

一、所需工具软件

       1. VS2019, Qt
       2. C++

二、使用步骤

代码如下(示例):
#include "MainWindow.h"
#include
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
using namespace cv;
//gdal读取tiff图像波段,另存为jpg,通过opencv显示图像
void MainWindow::On_tiff_File()
{
    std::cout << "modelRun" << std::endl;
    GDALAllRegister();
    // 打开TIFF文件
    GDALDataset* dataset = (GDALDataset*)("dd.tiff", GA_ReadOnly);
    if (dataset == NULL) {
        std::cout << "打开文件失败!";
        return;
    }
    // 获取影像信息
    int width = dataset->GetRasterXSize();
    int height = dataset->GetRasterYSize();
    // 读取各波段数据并合成
    std::vector<cv::Mat> bands;
    for (int i = 1; i <= numBands; ++i) {
        GDALRasterBand* band = dataset->GetRasterBand(i);
        cv::Mat bandData(height, width, CV_8U);
        band->RasterIO(GF_Read, 0, 0, bandData.data, width, height, GDT_Byte, 0, 0);
        bands.push_back(bandData);
    }
    // 合成多波段数据(这里简单地将各波段叠加)
    cv::Mat compositeImage(height, width, CV_8U, cv::Scalar(0));
    for (const auto& band : bands) {
        compositeImage += band;
    }
    // 将图像保存为JPEG格式
    std::string imagePath = "output.jpg"; // 保存图像的路径
    cv::imwrite(imagePath, compositeImage);

    // 重新打开JPEG图像文件
    cv::Mat frame = cv::imread(imagePath, cv::IMREAD_COLOR);
    //cvtColor(frame, frame, COLOR_RGB2BGR); //
    // 设置窗口大小策略,允许窗口自由拉伸
    ui.label->setPixmap(QPixmap::fromImage(img));
    ui.label->setScaledContents(true);
    ui.label->update();

    // 释放资源
    GDALClose(dataset);
}



运行结果

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!

1)远程安装运行环境,代码调试
2)Visual Studio, Qt, C++, Python编程语言入门指导
3)界面美化
4)软件制作

当前文章连接:https://blog.csdn.net/alicema1111/article/details/132666851
个人博客主页:https://blog.csdn.net/alicema1111?type=blog
博主所有文章点这里:https://blog.csdn.net/alicema1111?type=blog

你可能感兴趣的:(C++,qt,c++,开发语言,visual,studio,vs,gdal)