当前位置: 首页 > news >正文

qt显示图片并转换成灰度图及伪彩图

 

 

 

 写了个程序,可在途图片,并切换成灰度图及伪彩图显示,主要代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);initRGBTable();//初始化颜色表
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_2_clicked()//
{double fMax=0.0;double fMin=0.0;findMaxMin(m_vData,fMax,fMin);double fDifference = fMax - fMin;QVector<quint8> vnData;vnData.resize(m_vData.size());if(fDifference != 0){for(int i = 0;i<m_nHeight;i++){for(int j = 0;j<m_nWidth;j++){vnData[i*m_nWidth+j] = static_cast<int>((m_vData.value(i*m_nWidth+j)-fMin)*1.0f/fDifference*255);}}}QImage img((uchar*)(&vnData[0]),m_nWidth,m_nHeight,QImage::Format_Indexed8);img.setColorTable(m_vecGrayTable);ShowImg(img);
}
void MainWindow::findMaxMin(QVector<double> vData, double &fMax, double &fMin)
{if(vData.size()>1){fMax = vData.value(0);fMin = fMax;for(int i=1;i<vData.size();i++){if(fMax<vData.value(i)){fMax = vData.value(i);}if(fMin>vData.value(i)){fMin = vData.value(i);}}}
}void MainWindow::ShowImg(QImage img)
{QPixmap qPix = QPixmap::fromImage(img);qPix.scaled(ui->label->size(), Qt::KeepAspectRatio);ui->label->setPixmap(qPix);
}
void MainWindow::initRGBTable()
{//核心代码,请下载源码查看
}void MainWindow::on_pushButton_clicked()
{double fMax=0.0;double fMin=0.0;findMaxMin(m_vData,fMax,fMin);double fDifference = fMax - fMin;QVector<quint8> vnData;vnData.resize(m_vData.size());if(fDifference != 0){for(int i = 0;i<m_nHeight;i++){for(int j = 0;j<m_nWidth;j++){vnData[i*m_nWidth+j] = static_cast<int>((m_vData.value(i*m_nWidth+j)-fMin)*1.0f/fDifference*255);}}}QImage img((uchar*)(&vnData[0]),m_nWidth,m_nHeight,QImage::Format_Indexed8);img.setColorTable(m_vecColorTable);ShowImg(img);
}void MainWindow::on_pushButton_3_clicked()//打开图片
{QFileDialog *fileDlg = new QFileDialog(this);fileDlg->setWindowTitle("Choose Pictures");QStringList qstrFilters;qstrFilters<<"Any files (*)";fileDlg->setNameFilters(qstrFilters);//设置文件过滤器fileDlg->setFileMode(QFileDialog::ExistingFiles);//设置能选择多个文件,如果是单个文件就写成QFileDialog::ExistingFileif(fileDlg->exec() == QDialog::Accepted){QStringList strPathList = fileDlg->selectedFiles();if(strPathList.count()>0){qImg.load(strPathList.first());m_nWidth = qImg.width();m_nHeight = qImg.height();ShowImg(qImg);qImg = qImg.convertToFormat(QImage::Format_Grayscale8,Qt::AutoColor);m_vData.resize(m_nWidth*m_nHeight);unsigned char *ImgDataPtr = qImg.bits();for(int i = 0;i<m_nHeight;i++){for(int j = 0;j<m_nWidth;j++){m_vData[i*m_nWidth+j]=*ImgDataPtr;ImgDataPtr++;}}}}fileDlg->close();delete fileDlg;fileDlg = nullptr;
}

源码下载地址:https://download.csdn.net/download/weixin_43935474/88232145

相关文章:

qt显示图片并转换成灰度图及伪彩图

写了个程序&#xff0c;可在途图片&#xff0c;并切换成灰度图及伪彩图显示&#xff0c;主要代码如下&#xff1a; #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainW…...

oj在线编程输入输出

练习地址&#xff1a;校招笔试真题_C工程师、golang工程师_牛客网 1.读取多行内容 输入描述&#xff1a; 输入包括两个正整数a,b(1 < a, b < 1000),输入数据包括多组。 输出描述&#xff1a; 输出ab的结果输入例子&#xff1a; 1 5 10 20 输出例子&#xff1a; 6 30imp…...

【LeetCode 算法】Add Two Integers 两整数相加-位运算

文章目录 Add Two Integers 两整数相加问题描述&#xff1a;分析代码递归 Tag Add Two Integers 两整数相加 问题描述&#xff1a; 给你两个整数 num1 和 num2&#xff0c;返回这两个整数的和。 − 100 < n u m 1 , n u m 2 < 100 -100 < num1, num2 < 100 −1…...

企业网络日志安全与 EventLog Analyzer

企业的网络日志安全是一项至关重要的任务。随着信息技术的迅猛发展&#xff0c;网络攻击和数据泄露的威胁也与日俱增。为了应对这些威胁&#xff0c;企业需要强大的工具来监控、分析和保护其网络日志。而ManageEngine的EventLog Analyzer正是这样一款卓越的解决方案。 网络日志…...

清风数学建模——拟合算法

拟合算法 文章目录 拟合算法概念 确定拟合曲线最小二乘法的几何解释求解最小二乘法matlab求解最小二乘法如何评价拟合的好坏计算拟合优度的代码 概念 在前面的篇幅中提到可以使用插值算法&#xff0c;通过给定的样本点推算出一定的曲线从而推算出一些想要的值。但存在一些问题…...

单片机 (一) 让LED灯 亮

一&#xff1a;硬件电路图 二&#xff1a;软件代码 #include "reg52.h"#define LED_PORT P2void main() {LED_PORT 0x01; // 0000 0001 D1 是灭的 } #include "reg52.h" 这个头文件的作用&#xff1a;包含52 系列单片机内部所有的功能寄存器 三&#…...

c++——单例模式

c单例模式 1、概念&#xff1a; 单例模式确保一个类只有一个实例&#xff0c;并提供一个全局访问点以获取该实例。这通常通过让类的构造函数为私有&#xff0c;以防止外部直接实例化&#xff0c;然后提供一个静态方法来获取实例。 2、实现方法&#xff1a; 实现单例模式的主…...

C# 流Stream详解(2)——FileStream、BinaryReader、MemorySream、SreamReader等之间的关系

【文件流】 电脑上的文件有很多&#xff0c;文本文件、音频文件、视频文件、图片文件等&#xff0c;这些文件会被持久化存储在磁盘上&#xff0c;其本质都是一堆二进制数据。 FileStream用于读取二进制文件。电脑上的所有文件&#xff0c;不管是文本、音频、视频还是其他任意…...

【JavaSE】详解final关键字

在Java中&#xff0c;final可以用来修饰类、方法和变量。final修饰类&#xff0c;表示该类无法被继承&#xff0c;并且此类的设计已被认为很完美而不需要进行修改或扩展。final修饰类中的方法&#xff0c;表示不可以被重写&#xff1b;也就是把该方法锁定了&#xff0c;以防止继…...

问道管理:机器人概念走势活跃,新时达涨停,拓斯达、丰立智能等大涨

机器人概念17日盘中走势活跃&#xff0c;到发稿&#xff0c;拓斯达大涨18%&#xff0c;昊志机电涨近16%&#xff0c;丰立智能涨超13%&#xff0c;步科股份、优德精细涨超10%&#xff0c;新时达涨停&#xff0c;天玑科技、兆龙互联、中大力德涨逾9%。 消息面上&#xff0c;8月16…...

elementui 修改日期选择器el-date-picker样式

1. 案例&#xff1a; 2. css /* 最外层颜色 */ .el-popper.is-pure {background: url("/assets/imgList/memuBG.png") no-repeat;border: none;background-size:100% 100%}/* 日期 1.背景透明 */ .el-date-picker{background: transparent; }/* 日期 2.标题、左右图…...

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-@RequestParam

&#x1f600;前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 6-完成控制器方法获取参数-RequestParam &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c…...

数据可视化:图表绘制详解

数据可视化是一种将抽象的数字和数据转化为直观图形的技术&#xff0c;使数据的模式、趋势和关系一目了然。本文将详细介绍如何绘制各种类型的图表&#xff0c;包括柱状图、折线图、饼图、散点图和热力图等。 第一部分&#xff1a;图表类型和选择 1. 柱状图 柱状图是用于比较类…...

【中危】Apache Ivy<2.5.2 存在XXE漏洞 (CVE-2022-46751)

漏洞描述 Apache Ivy 是一个管理基于 ANT 项目依赖关系的开源工具&#xff0c;文档类型定义(DTD)是一种文档类型定义语言,它用于定义XML文档中所包含的元素以及元素之间的关系。 Apache Ivy 2.5.2之前版本中&#xff0c;当解析自身配置、Ivy 文件或 Apache Maven 的 POM 文件…...

C#使用自定义的比较器对版本号(编码)字符串进行排序

给定一些数据&#xff0c;如下所示: “1.10.1.1.1.2”, “1.1”, “2.2”, “1.1.1.1”, “1.1.3.1”, “1.1.1”, “2.10.1.1.1”, “1.1.2.1”, “1.2.1.1”, “2.5.1.1”, “1.10.1.1”, “1.10.2.1”, “1.11.3.1”, “1.11.12.1”, “1.11.11.1”, “1.11.3.1”, “1”, “…...

AI在日常生活中的应用:从语音助手到自动驾驶

文章目录 AI的定义和发展AI在日常生活中的应用1. **智能语音助手**2. **智能家居**3. **智能医疗**4. **自动驾驶** 代码示例&#xff1a;使用Python实现基于机器学习的图片分类AI的未来前景结论 &#x1f389;欢迎来到AIGC人工智能专栏~探索AI在日常生活中的应用 ☆* o(≧▽≦…...

Windows10查看图片的分辨率

文章目录 查看方法 查看方法 鼠标悬停在想查看分辨率大小的图片上&#xff0c;稍等那么零点几秒&#xff0c;就会弹出图片的分辨率信息&#xff0c;如图所示&#xff1a;...

Spring事务和事务传播机制(2)

前言&#x1f36d; ❤️❤️❤️SSM专栏更新中&#xff0c;各位大佬觉得写得不错&#xff0c;支持一下&#xff0c;感谢了&#xff01;❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 在Spring框架中&#xff0c;事务管理是一种用于维护数据库操作的一致性和…...

计算机视觉 -- 图像分割

文章目录 1. 图像分割2. FCN2.1 语义分割– FCN &#xff08;Fully Convolutional Networks&#xff09;2.2 FCN--deconv2.3 Unpool2.4 拓展–DeconvNet 3. 实例分割3.1 实例分割--Mask R-CNN3.2 Mask R-CNN3.3 Faster R-CNN与 Mask R-CNN3.4 Mask R-CNN&#xff1a;Resnet1013…...

ubuntu18.04复现yolo v8之CUDA与pytorch版本问题以及多CUDA版本安装及切换

最近在复现yolo v8的程序&#xff0c;特记录一下过程 环境&#xff1a;ubuntu18.04ros melodic 小知识&#xff1a;GPU并行计算能力高于CPU—B站UP主说的 Ubuntu可以安装多个版本的CUDA。如果某个程序的Pyorch需要不同版本的CUDA&#xff0c;不必删除之前的CUDA&#xff0c;…...

工业协议通信开发实战:lib60870开源库完全指南

工业协议通信开发实战&#xff1a;lib60870开源库完全指南 【免费下载链接】lib60870 Official repository for lib60870 an implementation of the IEC 60870-5-101/104 protocol 项目地址: https://gitcode.com/gh_mirrors/li/lib60870 在工业自动化领域&#xff0c;设…...

Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF小白友好测评:vLLM部署是否真的简单?生成效果如何?

Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF小白友好测评&#xff1a;vLLM部署是否真的简单&#xff1f;生成效果如何&#xff1f; 1. 引言&#xff1a;从零开始的模型部署体验 作为一个刚接触大模型部署的新手&#xff0c;我最近尝试用vLLM部署了Qwen3-4B-Thinking-25…...

YOLO训练结果results.csv全字段解读:从epoch到lr/pg2,每个数字背后的调参玄机

YOLO训练结果results.csv全字段解读&#xff1a;从epoch到lr/pg2&#xff0c;每个数字背后的调参玄机 当你盯着YOLO训练结束后生成的results.csv文件&#xff0c;是否曾感到困惑——这些密密麻麻的数字究竟在诉说什么故事&#xff1f;作为模型训练的"黑匣子记录仪"&a…...

3分钟掌握终极ASCII艺术转换:免费将图片视频变成字符画的神奇工具 [特殊字符]

3分钟掌握终极ASCII艺术转换&#xff1a;免费将图片视频变成字符画的神奇工具 &#x1f3a8; 【免费下载链接】ASCII-generator ASCII generator (image to text, image to image, video to video) 项目地址: https://gitcode.com/gh_mirrors/as/ASCII-generator 想不想…...

信息安全保障模型

信息安全保障模型是指导组织构建安全体系的理论框架。信息安全领域发展出了多个经典且广泛应用的安全模型。这些模型从不同维度阐述了如何实现“保护信息资产的机密性、完整性和可用性&#xff08;CIA&#xff09;”的目标。1. P2DR / PPDR 模型全称&#xff1a;Policy, Protec…...

RPA-Python与pytest-xdoctest集成:Xdoctest测试自动化

RPA-Python与pytest-xdoctest集成&#xff1a;Xdoctest测试自动化 【免费下载链接】RPA-Python Python package for doing RPA 项目地址: https://gitcode.com/gh_mirrors/rp/RPA-Python RPA-Python是一款功能强大的Python自动化库&#xff0c;而pytest-xdoctest则是一个…...

用Python+OpenCV实现双目视觉三维重建:从相机标定到triangulatePoints实战

PythonOpenCV双目视觉三维重建实战&#xff1a;从标定到点云生成 去年在开发一个AR眼镜原型时&#xff0c;我遇到了一个棘手的问题&#xff1a;如何让设备准确感知周围环境的深度。经过反复尝试&#xff0c;最终采用双目视觉方案完美解决了这个问题。本文将分享整个实现过程&am…...

SEO_快速见效的SEO外链建设方法与注意事项

SEO外链建设的核心原则 在当今竞争激烈的互联网环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为网站提升流量和知名度的关键。而在SEO的多种技术手段中&#xff0c;外链建设是提升网站排名的重要环节。外链&#xff0c;也就是其他网站对你网站的链接&#…...

java毕业设计基于springboot西岭雪山智慧景区管理系统

前言 随着旅游业的快速发展和游客数量的不断增加&#xff0c;西岭雪山景区面临着越来越多的管理挑战。传统的景区管理方式往往存在效率低下、信息不透明、游客体验差等问题。为了解决这些困境&#xff0c;基于Spring Boot的西岭雪山智慧景区管理系统应运而生。该系统旨在通过先…...

espeak-ng语音合成引擎:多语言语音包高效管理完全指南

espeak-ng语音合成引擎&#xff1a;多语言语音包高效管理完全指南 【免费下载链接】espeak-ng espeak-ng: 是一个文本到语音的合成器&#xff0c;支持多种语言和口音&#xff0c;适用于Linux、Windows、Android等操作系统。 项目地址: https://gitcode.com/GitHub_Trending/e…...