QT+GDAL实现影像的读取和显示

详细流程参考https://blog.csdn.net/deirjie/article/details/37872743

代码

//open_image.h
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_open_image.h"
#include "gdal_priv.h"
#include <QMessageBox>
#include <QFileDialog>
#include <QTextCodec>
#include<QWheelEvent>
#include<QStandardItemModel>
#include<QFileInfo>
#include<QImage>
#include<QPixmap>
#include<QGraphicsPixmapItem>
#include<QMatrix>
#include<QScrollBar>
#include <QListView>
class open_image : public QMainWindow
{
    Q_OBJECT
		
public slots:
	void readimage();
public:
	QSize sizeHint() const;
	void CloseCurrentImg();
    open_image(QWidget *parent = Q_NULLPTR);
	bool m_showColor;
	float m_scaleFactor;
	QPoint lastEventCursorPos;
protected:
	void wheelEvent(QWheelEvent *event);
	void mousePressEvent(QMouseEvent *event);
	void mouseMoveEvent(QMouseEvent *event);
	void mouseReleaseEvent(QMouseEvent *event);
	void ZoomIn()
	{
		ScaleImg(1.2);
	};
	void ZoomOut()
	{
		ScaleImg(0.8);
	};
private:
	void ShowBand(GDALRasterBand* band);
	void ShowImg(QList<GDALRasterBand*>*imgBand);
	unsigned char* ImgSketch(float* buffer, GDALRasterBand* currentBand, int size, double noValue);
    Ui::open_imageClass ui;
	void ScaleImg(double factor)
	{
		m_scaleFactor *= factor;
		QMatrix matrix;
		matrix.scale(m_scaleFactor, m_scaleFactor);
		ui.image_show->setMatrix(matrix);
	};
	QStandardItemModel *imgMetaModel;
	QStandardItemModel *fileListModel;
	GDALDataset *poDataset;
	void ShowImgInfor(const QString filename);
	void ShowFileList(const QString filename);
};

结果展示

只打开图片的话,没有投影信息

*//工程文件,有需要可以下载,主要是为了备份 用了GDAL+QT+OPENCV(包括有:图像打开,元数据查看,VDVI计算,灰度转换、直方图均衡化,拉普拉斯滤波、高斯滤波、线性拉伸、区域生长分割),还有很多bug没修改------

链接: https://pan.baidu.com/s/1banIbxF6xCcCCEeGrCPJjg?pwd=ten9

提取码: ten9 复制这段内容后打开百度网盘手机App,操作更方便哦

直方图均衡化截图有问题—不知道为啥

 

相关推荐

  1. 读取显示一系列二维码图像中二维码数据

    2024-03-23 18:56:01       35 阅读
  2. Go实现对XML读取修改

    2024-03-23 18:56:01       74 阅读
  3. python 实现 excle读取时间序列数据并画图显示

    2024-03-23 18:56:01       69 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 18:56:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 18:56:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 18:56:01       87 阅读
  4. Python语言-面向对象

    2024-03-23 18:56:01       96 阅读

热门阅读

  1. ARM IHI0069F GIC architecture specification (1)

    2024-03-23 18:56:01       37 阅读
  2. Word中文字重叠在一起怎么办

    2024-03-23 18:56:01       44 阅读
  3. 蓝桥杯/ 刷题统计 /c\c++

    2024-03-23 18:56:01       40 阅读
  4. Codeforces Round 936 (Div. 2) (A~C)

    2024-03-23 18:56:01       42 阅读
  5. 压缩感知——稀疏恢复

    2024-03-23 18:56:01       38 阅读
  6. HTTP协议与报文

    2024-03-23 18:56:01       33 阅读
  7. 如何在vue添加echarts图表

    2024-03-23 18:56:01       44 阅读
  8. 渗透入门(渗透测试入门)

    2024-03-23 18:56:01       48 阅读
  9. 【C++】每日一题 452 用最少数量的箭引爆气球

    2024-03-23 18:56:01       40 阅读
  10. Delphi 11 dbExpress 连接 MySQL 5.7.44

    2024-03-23 18:56:01       44 阅读
  11. Nginx Array

    2024-03-23 18:56:01       37 阅读
  12. Nginx常见面试题以及答案

    2024-03-23 18:56:01       37 阅读
  13. nginx有哪些功能

    2024-03-23 18:56:01       38 阅读