• 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,加载原始图片
      在这里插入图片描述
    • 连接信号与槽函数

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

  • 相关阅读:
    Java多线程(7):JUC(上)
    线段树 模板 Java语言版
    1.3寸OLED 12864 sh1106带中文字库液晶屏介绍
    基于Springboot开发实现二手交易商城
    复习一下Linux常用命令,孰能生巧~
    Java的本地方法栈
    JS逆向-韵达快递滑块分析
    STM32H750VBT6驱动程控增益放大模块PGA113——基于CubeMX的Hal库
    【RabbitMQ】RabbitMQ 服务无法启动。系统出错。发生系统错误 1067。进程意外终止。
    Hadoop HBase Hive day3-day4.md
  • 原文地址:https://blog.csdn.net/Wwc_code/article/details/126089305