• Qt QImage 图像处理(翻转,灰度,亮度)代码实现


    1.界面效果

    该程序利用QImage类对图片像素进行操作,实现图像的翻转,转灰度,增加亮度的效果。模拟图像处理效果背后的算法实现。后续可以陆续增加其他图像处理功能,可进一步扩展。
    在这里插入图片描述

    • 项目结构
      主要涉及一个图像处理类-QImageProcess
      在这里插入图片描述
      在这里插入图片描述
      可优化的空间:
    • .可以将图片加载的label封装为一个类,实现PaintEvent函数,利用update直接进行刷新提高效率。
    • 可以尝试将Qimage一行行读取像素为uchar*,再进行像素操作提高效率,节省内存空间以及拷贝的时间。
      在这里插入图片描述
    • scanlin官方解释:
      uchar QImage::scanLine(int i)
      Returns a pointer to the pixel data at the scanline with index i. The first scanline is at index 0.
      The scanline data is as minimum 32-bit aligned. For 64-bit formats it follows the native alignment of 64-bit integers (64-bit for most platforms, but notably 32-bit on i386).
      Warning: If you are accessing 32-bpp image data, cast the returned pointer to QRgb
      (QRgb has a 32-bit size) and use it to read/write the pixel value. You cannot use the uchar* pointer directly, because the pixel format depends on the byte order on the underlying platform. Use qRed(), qGreen(), qBlue(), and qAlpha() to access the pixels.
      See also bytesPerLine(), bits(), Pixel Manipulation, and constScanLine().

    2.图像处理的原理

    2.1 图像翻转

    • 包括水平镜像和垂直镜像
      在这里插入图片描述
      代码示例

    • 垂直翻转
      在这里插入图片描述
      == 效果==
      在这里插入图片描述

    • 水平翻转
      在这里插入图片描述

    • 效果
      在这里插入图片描述

    • 对角线翻转
      对角线翻转等于前两个翻转的叠加
      在这里插入图片描述

    • 效果
      在这里插入图片描述

    2.2 彩色图转变为灰度图

    • 原理:三通道彩色图转单通道灰度图的原理就是让单个像素的R,G,B值都相等。
      代码示例
      在这里插入图片描述
    • 效果
      在这里插入图片描述

    2.3 调整图像亮度

    • 原理:就是让图像像素的R,G,B都增加一个数值,增加后的数值在区间0~255范围内。
      代码示例
      在这里插入图片描述
    • 效果
      在这里插入图片描述

    3.主窗口代码

    • 初始化主窗口
      在这里插入图片描述
    • 初始化label,加载原始图片
      在这里插入图片描述
    • 连接信号与槽函数

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    Flutter简易弹窗
    java冒泡排序
    k8s组件证书续期
    关于安卓jsbridge的使用
    c语言运算符优先级问题
    C#开发的OpenRA游戏之延时初始化Lazy<T> 类
    【RT-Thread】nxp rt10xx 设备驱动框架之--adc搭建和使用
    Redis主从模式(二)---拓扑结构及复制过程
    人力资源公司企业怎么在抖音直播说招聘?
    创新领航 | 竹云产品入选“年度优秀创新软件产品推广目录”
  • 原文地址:https://blog.csdn.net/Wwc_code/article/details/126089305