返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解Qt使用QImage类实现图像基本操作
  • 527
分享到

详解Qt使用QImage类实现图像基本操作

2024-04-02 19:04:59 527人浏览 八月长安
摘要

目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍 利用QImage类实现对图像的

一、项目介绍

利用QImage类实现对图像的基本操作,包括图像显示、图像缩放、图像旋转等。

二、项目基本配置

新建一个Qt案例,项目名称为“ImageTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。

三、UI界面设计

UI界面布局如下:

界面中创建了5个控件,其名称和类型如下:

序号名称类型属性
ChooseQPushButtontext:选择图像
RotateQPushButtontext:图像旋转
ZoomQPushButtontext:图像缩放
imagelabelQLabel\
horizontalSliderQSliderminimum:0
maximum:359

四、主程序实现

4.1 widget.h头文件

头文件中声明原始图像img:

public:
    QImage img;//原始图像

声明三个按钮点击槽函数和一个滑动条滑动槽函数:

private slots:
    void on_Choose_clicked();

    void on_Rotate_clicked();

    void on_Zoom_clicked();

    void on_horizontalSlider_valueChanged(int value);

4.2 widget.cpp源文件

定义选择图像槽函数:

//选择图像
void Widget::on_Choose_clicked()
{
    QString path=QFileDialog::getOpenFileName(this,tr("选择图像"),"E:\\image\\",tr("Images (*.png *.bmp *.jpg *.tif *.GIF )"));
    if(path.isEmpty())
    {
         return;
    }
    else
    {
        if(! ( img.load(path) ) ) //加载图像
        {
            QMessageBox::infORMation(this,tr("打开图像失败"),tr("打开图像失败!"));
            //delete img;
            return;
        }
        //img.load(path);
        ui->imagelabel->setPixmap(QPixmap::fromImage(img));
    }

}

定义图像缩放槽函数:

//图像缩放
void Widget::on_Zoom_clicked()
{
    QImage* imgScaled = new QImage;
    int width=ui->imagelabel->width()/2;
    int height=ui->imagelabel->height()/2;
    *imgScaled=img.scaled(width,height,Qt::KeepAspectRatio);//对半缩放
    ui->imagelabel->setPixmap(QPixmap::fromImage(*imgScaled));
}

定义图像旋转槽函数:

//图像旋转
void Widget::on_Rotate_clicked()
{
    ui->horizontalSlider->setVisible(true);//显示滑动条
}

定义滑动条值变化槽函数:

//进度条值变化
void Widget::on_horizontalSlider_valueChanged(int value)
{
    qDebug()<<value;//输出旋转角度
    QImage* imgRatate = new QImage;
    QMatrix matrix;
    matrix.rotate(value);
    *imgRatate = img.transformed(matrix);
    ui->imagelabel->setPixmap(QPixmap::fromImage(*imgRatate));
}

五、效果演示

完整效果如下:

到此这篇关于详解Qt使用QImage类实现图像基本操作的文章就介绍到这了,更多相关Qt图像基本操作内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Qt使用QImage类实现图像基本操作

本文链接: https://lsjlt.com/news/151648.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Qt使用QImage类实现图像基本操作
    目录一、项目介绍二、项目基本配置三、UI界面设计四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍 利用QImage类实现对图像的...
    99+
    2024-04-02
  • Python+OpenCV实现图像基本操作的示例详解
    目录1. 计算机眼中的图像2. 图像的表示3. 基础操作 图像的读取4. 截取部分图像数据(ROI)5. 视频的读取6. 边界填充7. 图像的加法 图像的加法1. 计算机眼中的图像 ...
    99+
    2023-05-16
    Python OpenCV图像基本操作 Python OpenCV图像操作 Python OpenCV图像 Python OpenCV
  • OpenCV+Qt实现图像处理操作
    本文实例为大家分享了OpenCV+Qt实现图像处理操作的具体代码,供大家参考,具体内容如下 一、目标 Qt界面实现 雪花屏 高斯模糊 中值滤波 毛玻璃 灰度化 XY方向模糊 双边模糊...
    99+
    2022-11-13
    OpenCV Qt 图像处理
  • Qt QTableWidget基本操作及使用
    目录界面设计与初始化QTableWidget 基本操作设置表头初始化表格数据获得当前单元格数据插入、添加、删除行其他属性控制遍历表格读取数据QTableWidget 是 Qt 中的表...
    99+
    2024-04-02
  • 详解OpenCV图像的概念和基本操作
    前言: opencv最主要的的功能是用于图像处理,所以图像的概念贯穿了整个opencv,与其相关的核心类就是Mat。 像素: 图片尺寸以像素为单位时,每一厘米等于28像素,如15...
    99+
    2024-04-02
  • Python+OpenCV实现基本的图像处理操作
    目录模块的安装图片的各种操作读取图像展示图像图片保存图片的各种属性图像的基本操作今天小编来和大家分享一下Python在图像处理当中的具体应用,那既然是图像处理,那必然要提到openc...
    99+
    2024-04-02
  • python opencv图像处理基本操作示例详解
    目录1.图像基本操作①读取图像②显示图像③视频读取④图像截取⑤颜色通道提取及还原⑥边界填充⑦数值计算⑧图像融合2.阈值与平滑处理①设定阈值并对图像处理②图像平滑-均值滤波③图像平滑-...
    99+
    2024-04-02
  • pythonPILImage图像处理基本操作实例
    1. 图片加载、灰度图、 显示和保存 from PIL import Image img = Image.open('01.jpg') imgGrey = img.convert(...
    99+
    2024-04-02
  • Python OpenCV实现图像增强操作详解
    目录创作背景图像亮度增强和降低旋转水平镜像和垂直镜像高斯噪声其它图像增强的方法创作背景 最近在忙着两个YOLOv7项目,通过看大量的论文,发现很多的相关的论文都会在收集图像后进行图像...
    99+
    2024-04-02
  • 详解Docker镜像的基本操作方法
    目录一、获取镜像二、运行镜像三、列出镜像四、镜像大小五、删除本地镜像一、获取镜像 之前我们提到过 Docker 官⽅提供了⼀个公共的镜像仓库:Docker Hub,我们就可以从这上⾯获取镜像,获取镜像的命令:docker pull,格式为:...
    99+
    2024-04-02
  • 基于QtOpenCV的图像灰度化像素操作详解
    效果图 实现代码 #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include<opencv2/o...
    99+
    2024-04-02
  • KotlinFlow操作符及基本使用详解
    目录一、Flow的基本概念二、Flow的生命周期与异常处理2.1 开始与结束2.2 异常的处理2.3 retry的处理2.4 超时的处理2.5 Flow的取消三、Flow的创建方式四...
    99+
    2024-04-02
  • Qt QTableWidget基本操作及使用是怎样的
    这篇文章将为大家详细讲解有关Qt QTableWidget基本操作及使用是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。QTableWidget 是 Qt 中的表格组件类。在...
    99+
    2023-06-21
  • Python使用Pillow实现图像基本变化
    目录一、图像处理1. 灰度图像2. 二值图像3. 索引图像4. RGB彩色图像5. 图像存储方式二、图像处理基础操作1.查看图片属性2. 显示RGB不同通道3.PGB和HSV的转换三...
    99+
    2024-04-02
  • 详解Python+OpenCV进行基础的图像操作
    目录介绍形态变换腐蚀膨胀创建边框强度变换对数变换线性变换去噪彩色图像使用直方图分析图像介绍 众所周知,OpenCV是一个用于计算机视觉和图像操作的免费开源库。 OpenCV 是用 C...
    99+
    2024-04-02
  • pandas的Series类型与基本操作详解
    目录1 Series1.1创造一个serise数据1.2 指定index1.3 用dictionary构造一个series1.4 用numpy ndarray构造一个Series1....
    99+
    2024-04-02
  • Python+selenium实现浏览器基本操作详解
    目录关闭 driver 启动的浏览器浏览器最大化与设置浏览器窗口大小浏览器最大化设置浏览器窗口大小浏览器的前进、后退与刷新页面关闭 driver 启动的浏览器 上一章节文末,我们介绍...
    99+
    2024-04-02
  • gosyncWaitgroup数据结构实现基本操作详解
    目录WaitGroup 示例WaitGroup 基本原理背景知识信号量WaitGroup 中的信号量WaitGroup 数据结构noCopystatesemaWaitGroup 的三...
    99+
    2023-01-03
    go sync Waitgroup数据结构 go sync Waitgroup
  • Java实现二叉树的基本操作详解
    目录1. 二叉树结点的构成2. 二叉树的遍历2.1 前序遍历2.2 中序遍历2.3 后序遍历3. 获取整棵二叉树的节点个数4. 获取二叉树叶子节点的个数5. 获取第K层节点的个数6....
    99+
    2022-11-13
    Java二叉树操作 Java二叉树
  • OpenCV+Qt实现图像处理操作工具的示例代码
    目录一、目标二、使用Qt界面三、图像处理操作完整代码一、目标 Qt界面实现 雪花屏 高斯模糊 中值滤波 毛玻璃 灰度化 XY方向模糊 双边模糊 腐蚀 [图像处理操作] 要求左边原图,...
    99+
    2022-11-13
    OpenCV Qt图像处理 OpenCV 图像处理 Qt 图像处理
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作