03 2021 档案

摘要:选择项目文件*.pro 找到 "RESOURCES +=\" 删除相关文件,全部资源都不要就把整个这一段都删除,构建; 保存 ps:直接删怎么删也删不掉,去.pro文件中直接删,构建后自己就没了 阅读全文
posted @ 2021-03-31 14:26 手磨咖啡 阅读(2780) 评论(0) 推荐(1) 编辑
摘要:Demo: 主界面如图 一、QFile读写文本 “QFile直接打开” - 按钮的triggered函数 //点击按钮,打开一个文本,调用openTextByIODevice函数 void MainWindow::on_actOpen_IODevice_triggered() { QString f 阅读全文
posted @ 2021-03-31 13:24 手磨咖啡 阅读(655) 评论(0) 推荐(0) 编辑
摘要:一、文本文件 文本文件是指纯文本格式存储的文件,例如:.cpp、.html、.xml文件等都是纯文本文件 二、QT纯文本文件读写函数 QT提供了两种读写纯文本文件的方法: ①QFile类的IODevice读写功能直接进行读写 ②QFile和QTextStream结合起来,用流的方法进行文件读写 三、 阅读全文
posted @ 2021-03-31 13:14 手磨咖啡 阅读(6771) 评论(0) 推荐(0) 编辑
摘要:单例模式 单利模式作为一种常用的软件设计模式,主要是用来保证系统中只有一个实例,例如一般一个程序中只有一个日志输出实例,一个系统中只有一个数据库连接实例,这时候用单例模式非常合适。 简单的单例模式 class QSingleton { public: static QSingleton* insta 阅读全文
posted @ 2021-03-31 10:47 手磨咖啡 阅读(504) 评论(0) 推荐(0) 编辑
摘要:记项目中遇到的一个问题。 项目任务: 将工业相机的取流、存图、显示、以及图像基本参数调整封装成纯C的库(.dll),给客户使用,那边用的是C,我们这边用C++写的,使用的是QT。 遇到的问题: 在QT环境下,将相机取流出来的帧m_Frame与信号槽连接后,就可以自由使用帧(用于显示和存图等),连接代 阅读全文
posted @ 2021-03-30 15:45 手磨咖啡 阅读(433) 评论(0) 推荐(0) 编辑
摘要:QSS的概念 QSS的全程是Qt Style Sheets,顾名思义Qt样式表。Qt样式表是一种强大的机制,除了通过子类化QStyle已经可以实现的功能外,还允许您自定义窗口小部件的外观。 Qt样式表的概念,术语和语法受到HTML级联样式表(CSS)的启发,但适用于小部件世界。 样式表是文本规范,可 阅读全文
posted @ 2021-03-29 16:19 手磨咖啡 阅读(1745) 评论(0) 推荐(0) 编辑
摘要:1、什么是GPU加速计算 GPU,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的,这些计算是图形渲染所必需的。随着人工智能的发展,如今的GPU已 阅读全文
posted @ 2021-03-29 14:55 手磨咖啡 阅读(2473) 评论(0) 推荐(0) 编辑
摘要:QFile简介 继承自QIODevice QIODevice 类是 Qt 中所有 I/O 设备的基础接口类,为诸如 QFile、QBuffer 和 QTcpSocket 等支持读/写数据块的设备提供了一个抽象接口。。 QFile类提供一个用于读/写文件的接口,它是一个可以用来读写文本文件、二进制文件 阅读全文
posted @ 2021-03-29 14:29 手磨咖啡 阅读(821) 评论(0) 推荐(0) 编辑
摘要:break: 终止离它最近的while,do while,for switch语句 并从这些语句之后的第一条语句开始执行 语句作用范围仅限于最近的循环或者switch continue: 终止最近的循环中的当前迭代并立即开始下一次迭代 只有当switch语句嵌套在迭代语句内部时,才能在switch里 阅读全文
posted @ 2021-03-29 13:38 手磨咖啡 阅读(375) 评论(0) 推荐(0) 编辑
摘要:switch只能接受整型和字符型: 整型: #include <iostream> using namespace std; int main(void){ int a; while(true) { cin >> a; switch(a) { case 1: cout << "hi" << endl 阅读全文
posted @ 2021-03-29 13:33 手磨咖啡 阅读(1632) 评论(0) 推荐(0) 编辑
摘要:?:运算符 代码: 阅读全文
posted @ 2021-03-29 13:13 手磨咖啡 阅读(225) 评论(0) 推荐(0) 编辑
摘要:首先要强调的是,对于原本灰度的图像,进行默认cv::imread读取,读到的仍是CV_8UC3(16)类型的,而非CV_8UC1(1)。其三个通道像素值相等! 区别: cv::IMREAD_GRAYSCALE 为读入参数,只有在读入图像imread时使用,将原图转到灰度格式; cv::Mat img 阅读全文
posted @ 2021-03-29 11:37 手磨咖啡 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:QSize 类代表一个矩形区域的大小,实现在 QtCore 共享库中。它可以认为是由一个整型的宽度和整型的高度组合而成的。 构造: QSize(); // 构造一个非法的 QSize 对象 QSize(int width, int height); // 构造宽度为 width、高度为 height 阅读全文
posted @ 2021-03-29 10:10 手磨咖啡 阅读(968) 评论(0) 推荐(0) 编辑
摘要:先看代码: 出现的问题: 最开始实现自定义宽高缩放的写法是: m_MatFrame = Mat(dsize, CV_8UC3); 编译没有报错,运行后崩在代码后边的显示部分 imshow() 处 解决方法: 后来在大神的指导下,把上边一句改成 dSize_MatFrame.create(dsize, 阅读全文
posted @ 2021-03-29 08:39 手磨咖啡 阅读(421) 评论(0) 推荐(0) 编辑
摘要:一、sizePolicy(大小策略)属性介绍 控件的 sizePolicy 说明控件在布局管理中的缩放方式。Qt提供的控件都有一个合理的缺省sizePolicy,但是这个缺省值有时不能适合 所有的布局,开发人员经常需要改变窗体上的某些控件的sizePolicy。一个QSizePolicy的所有变量对 阅读全文
posted @ 2021-03-26 16:34 手磨咖啡 阅读(10766) 评论(0) 推荐(0) 编辑
摘要:在讲解.h .lib .dll的关系时,回顾一下C/C++从源文件到.exe的过程: 上图可以帮助我们理解C/C++的构建过程,当你有了一些开发经验之后,你会遇到.lib .dll两种文件,很容易把人绕晕,结合上图,总结一下为什么要使用.lib和.dll,以及他们的区别。 实际上,假如我们引用了在其 阅读全文
posted @ 2021-03-26 15:18 手磨咖啡 阅读(662) 评论(0) 推荐(0) 编辑
摘要:在调试QT的TCP服务器和客户端的实时传输时,出现图像延迟显示,改进办法 1.去掉读写硬盘文件.bmp,改用直接读写bmp文件 2.去掉定时器读取图像,改用信号和槽的方式,相机回调函数接收图像完成时,发送读取完成信号,告诉主界面刷新图像,可以初步缓解延时 3.引入两个图像缓冲队列,一个用来写入缓冲图 阅读全文
posted @ 2021-03-26 14:56 手磨咖啡 阅读(931) 评论(0) 推荐(0) 编辑
摘要:opencv依赖了ffmpeg,所以可以轻松对avi视频文件进行操作。 打开视频文件或摄像头视频需要使用Opencv中的VideoCapture类,保存视频或摄像头视频到本地磁盘,需要使用Opencv中的VideoWriter类。 代码: bool isInit= false; VideoCaptu 阅读全文
posted @ 2021-03-26 14:46 手磨咖啡 阅读(423) 评论(0) 推荐(0) 编辑
摘要:opencv之伪彩变换我们在处理红外图像时,由于红外图像都是16位的数据,灰度范围较大,对比度不明显,经常通过直方图均衡的方式将图像增强进行8位的显示。 红外图像在一定程度上反映了环境中物体的温度变化——我们可以认为较暗的图像区域表示的是温度较低的区域(蓝色来表示),更加明亮的区域认为是温度较高的区 阅读全文
posted @ 2021-03-26 14:36 手磨咖啡 阅读(1300) 评论(0) 推荐(0) 编辑
摘要:原型:void*memcpy(void*dest, const void*src,unsigned int count); 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 看一下这个函数的解释: Exa 阅读全文
posted @ 2021-03-26 14:23 手磨咖啡 阅读(6815) 评论(0) 推荐(0) 编辑
摘要:1.&和&&的区别相同点:最终得到的boolean值结果一样,都是“并且and”的意思 不同点:&既是逻辑运算符也是位运算符;&&只是逻辑运算符&不具有短路效果,即左边false,右边还会执行;&&具有短路效果,左边为false,右边则不执行 2.| 和 || 的区别相同点:最终得到的boolean 阅读全文
posted @ 2021-03-26 11:48 手磨咖啡 阅读(3447) 评论(0) 推荐(0) 编辑
摘要:第一步,功能说明。第二步,结果图显示,第三步,API详解。第四步,代码展示(注释很详细,保证所有有C++基础的人都可以看懂。) 第一步,功能说明:namedWindow()的功能就是新建一个显示窗口。可以指定窗口的类型。 第二步,结果图显示:我们展示两张图,第一张窗口与图片大小相等。第二张窗口大小被 阅读全文
posted @ 2021-03-26 11:40 手磨咖啡 阅读(1738) 评论(0) 推荐(0) 编辑
摘要:OpenCV中经常会使用getTickCount()和getTickFrequency()来计算程序执行时间,在OpenCV源码中也经常能看到这样的操作: int64 t = getTickCount(); ... ... ... cout << "xxx time" << ((getTickCou 阅读全文
posted @ 2021-03-26 11:38 手磨咖啡 阅读(543) 评论(0) 推荐(0) 编辑
摘要:QVector,是Qt对所有数组的封装,比如我们想要一个int类型数组,我们原先会写int array[10],我们在Qt里可以写QVector <int> array(10),赋值的时候,我们依然可以照旧array[5]=4;想获取某一项的值也还可以array[9],也就是说,原来的特性我们还可以 阅读全文
posted @ 2021-03-26 11:37 手磨咖啡 阅读(2718) 评论(0) 推荐(0) 编辑
摘要:Qt 前位补0 的几种方法: 1. arg 在Qt中 arg(整数类型,补位数,进制,补位字符) 有很多的重载函数。整数类型、浮点、long等等; QString QString::arg(qulonglong a, int fieldWidth = 0, int base = 10, QChar 阅读全文
posted @ 2021-03-26 11:35 手磨咖啡 阅读(2201) 评论(0) 推荐(0) 编辑
摘要:存图时到一定数量后报错,大多数说法是32位VS编译器内存不够,解决方法就是改成X64平台 openCV官网也有提出该问题的,截图: 下边的解答是: 意思是两种解决方法,1.减小存数据的大小;2.改为X64平台。 阅读全文
posted @ 2021-03-26 11:33 手磨咖啡 阅读(3776) 评论(0) 推荐(0) 编辑
摘要:一、简介 在试验中需要常常将实验结果进行保存,在opencv中提供很好用的录制视频的句柄,也可称之为类videowriter。 videowriter应用那是相当的筒单,总之分为三步: VideoWriter writer; writer.open("C:\\Users\\lenovo\\Docum 阅读全文
posted @ 2021-03-26 11:32 手磨咖啡 阅读(376) 评论(0) 推荐(0) 编辑
摘要:方式一: #include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespace cv; int main() { //创建一个2*2 类型为8位的uchar类型三通道的 颜色为黄色 Mat img(2 阅读全文
posted @ 2021-03-26 11:30 手磨咖啡 阅读(222) 评论(0) 推荐(0) 编辑
摘要:Video Capture使用示例。读取视频 通过一个读取视频的综合例子来介绍VideoCapture类的一些基本操作: #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2 阅读全文
posted @ 2021-03-26 11:28 手磨咖啡 阅读(1279) 评论(0) 推荐(0) 编辑
摘要:Mat OpenCV 自 2001 年出现以来。在那些日子里库是围绕C接口构建的。在那些日子里,他们使用名为IplImage C 的结构在内存中存储图像。这是您将在大多数较旧的教程和教材中看到的那个。使用这个结构的问题是将 C 语言的所有负面效果都摆到了桌面上。最大的问题是手动管理。它是建立在用户来 阅读全文
posted @ 2021-03-26 11:25 手磨咖啡 阅读(1242) 评论(0) 推荐(0) 编辑
摘要:srcImage.at<uchar>(j, i) //表示的是 j 行 i 列 的这个像素 srcImage.at<uchar>(Point(j, i)) //表示的是 坐标(j,i)的像素 为了我下面的图方便说明 j 换成 x , i 换成 y 。也就是说: srcImage.at<uchar>( 阅读全文
posted @ 2021-03-26 11:24 手磨咖啡 阅读(292) 评论(0) 推荐(0) 编辑
摘要:一、遍历图像 我们在实际应用中对图像进行的操作,往往并不是将图像作为一个整体进行操作,而是对图像中的所有点或特殊点进行运算,所以遍历图像就显得很重要,如何高效的遍历图像是一个很值得探讨的问题。 1.1 at<typename>(i,j) Mat类提供了一个at的方法用于取得图像上的点,它是一个模板函 阅读全文
posted @ 2021-03-26 11:00 手磨咖啡 阅读(3633) 评论(0) 推荐(0) 编辑
摘要:(一)Mat矩阵(图像容器)创建时CV_8UC1,CV_8UC2等参数详解 Mat不但是一个非常有用的图像容器类,同时也是一个通用的矩阵类.创建一个Mat对象的方法很多,我们现在先看一下Mat矩阵/图像容器类在OpenCv中的有关源代码: 使用Mat图像容器类创建Mat类的对象. //! defau 阅读全文
posted @ 2021-03-26 10:37 手磨咖啡 阅读(1676) 评论(0) 推荐(0) 编辑
摘要:命名空间 opencv中的C++类和函数都是定义在命名空间cv之内的,所以有如下opencv函数的两种调用方法: ex1: Mat srcImg = cv::imread(“1.jpg”); ex2: using namespace cv; Mat srcImg = imread(“1.jpg”); 阅读全文
posted @ 2021-03-26 10:35 手磨咖啡 阅读(251) 评论(0) 推荐(0) 编辑
摘要:QMutex类提供的是线程之间的访问顺序化。QMutex的目的是保护一个对象、数据结构或者代码段,所以同一时间只有一个线程可以访问它。 例如,这里有一个方法打印给用户两条消息: void DebugInfo() { qDebug("ABC"); qDebug("DEF"); } 如果同时在两个线程中 阅读全文
posted @ 2021-03-18 09:37 手磨咖啡 阅读(1175) 评论(0) 推荐(0) 编辑
摘要:常用数据结构包括 1、QString2、QVariant3、QStringList4、QVector5、QStack6、QQueue7、QList8、QMap 一、QString QString 是qt中关于String的封装类,用于处理字符。 二、QVariant QVariant 是万能变量,可 阅读全文
posted @ 2021-03-17 15:47 手磨咖啡 阅读(945) 评论(0) 推荐(0) 编辑
摘要:以下是一些总结,关于QQueue的容器: 头文件:#include<QQueue> 1、在头文件中: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QQueue> namespace Ui { c 阅读全文
posted @ 2021-03-17 15:38 手磨咖啡 阅读(2217) 评论(0) 推荐(0) 编辑
摘要:在开发中,将一些关键的东西写入或者读取配置文件中,本文主要就是使用了QSettings的setValue和value。 QSettings可以存储一系列设置。每个设置包括指定设置名称(键)的一个字符串和一个与该键关联的QVariant存储数据。使用setValue()可以实现一个设置。 用户通常希望 阅读全文
posted @ 2021-03-16 15:17 手磨咖啡 阅读(4412) 评论(0) 推荐(1) 编辑
摘要:获取当前时间: QDateTime begin_time = QDateTime::currentDateTime();//获取系统现在的时间 QDateTime转QString: QDateTime begin_time = QDateTime::currentDateTime();//获取系统现 阅读全文
posted @ 2021-03-16 15:10 手磨咖啡 阅读(1866) 评论(0) 推荐(0) 编辑
摘要:1、IDE接口(一种硬盘接口) IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。多用于家用产品中,也部分应用于服务器。 IDE接口优点:价格低廉、兼容性强、性价比高 IDE接口缺点:数 阅读全文
posted @ 2021-03-10 16:48 手磨咖啡 阅读(1787) 评论(0) 推荐(0) 编辑
摘要:《OpenCV3编程入门》配套示例程序89:SURF特征点检测示例中,出现的问题及解决方法: 问题一: 直接按照原文代码写,报错“SurfFeatureDetector”: 未声明的标识符 ....... //【2】定义需要用到的变量和类 int minHessian = 400;//定义SURF中 阅读全文
posted @ 2021-03-09 11:34 手磨咖啡 阅读(1457) 评论(0) 推荐(1) 编辑
摘要:Shi-Tomas角点检测: 函数: goodFeaturesToTrack( g_grayImage,//输入图像 corners,//检测到的角点的输出向量 g_maxCornerNumber,//角点的最大数量 qualityLevel,//角点检测可接受的最小特征值 minDistance, 阅读全文
posted @ 2021-03-08 14:32 手磨咖啡 阅读(206) 评论(0) 推荐(0) 编辑
摘要:在头文件下加上: #include <iostream> using namespace std; 阅读全文
posted @ 2021-03-08 14:18 手磨咖啡 阅读(1139) 评论(0) 推荐(0) 编辑
摘要:倏逝波又叫消逝波或者隐失波,其幅值随与分界面相垂直的深度的增大而呈指数形式衰减。 消逝波(又称表面波, 英文: Evanescent field)是指当光波在两种介质产生全反射时发生的光学现象。 定义: 一般来讲, 当光波从光密介质入射到光疏介质时,如果入射角大于临界角会产生全反射现象。 此时有光波 阅读全文
posted @ 2021-03-08 12:09 手磨咖啡 阅读(3225) 评论(0) 推荐(0) 编辑
摘要:控制系统中AI、AO、DI、DO是什么含义 控制系统中AI、AO、DI、DO是集散控制系统中模块上常见的一些基本标注,好处就是便于分清什么类型量的卡件,也好方便后期的维护与保养。其实就是把现场模拟量仪表和开关量设备等进行清晰分类,便于后期仪表和设备的弱电信号接线。 AI、AO、DI、DO它们都是英文 阅读全文
posted @ 2021-03-08 11:38 手磨咖啡 阅读(22504) 评论(0) 推荐(0) 编辑
摘要:Shi-Tomasi算子是1994年在文章《good Features To Track》中被提出的,opencv实现此算法的函数就被命名为goodFeaturesToTrack。 代码: //Shi-Tomasi算子 cv::Mat BasicAlgorithm::on_Shi_Tomasi(cv 阅读全文
posted @ 2021-03-05 15:51 手磨咖啡 阅读(311) 评论(0) 推荐(0) 编辑
摘要:cornerHarris函数对于每一个像素(x,y)在blockSize x blockSize 邻域内,计算2x2梯度的协方差矩阵M(x,y)。就可以找出输出图中的局部最大值,即找出了角点。 void cornerHarris( InputArray src, OutputArray dst, i 阅读全文
posted @ 2021-03-05 14:31 手磨咖啡 阅读(1734) 评论(0) 推荐(0) 编辑
摘要:功能:cvRound(), cvFloor(), cvCeil()函数讲解。 函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound():返回跟参数最接近的整数值,即四舍五入; cvFloor():返回不大于参数的最大整数值,即向下取整; cv 阅读全文
posted @ 2021-03-05 13:48 手磨咖啡 阅读(516) 评论(0) 推荐(0) 编辑
摘要:1. 归一化定义与作用 归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保证程序运行时收敛加快。归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在某个区间上是统计的坐标分布。归一化有同一、 阅读全文
posted @ 2021-03-05 13:42 手磨咖啡 阅读(1664) 评论(0) 推荐(0) 编辑
摘要:本文主要介绍:Opencv常用函数,如均值、最大最小、归一化、滤波、旋转、求连通域等函数。 一、基本函数 //初始化 Mat img = Mat::zeros(Height, Width, CV_8UC1); Mat img = Mat::ones(Height, Width, CV_8UC1); 阅读全文
posted @ 2021-03-04 16:30 手磨咖啡 阅读(170) 评论(0) 推荐(0) 编辑
摘要:void rectangle(Mat& img, Point pt1,Point pt2,const Scalar& color, int thickness=1, int lineType=8, int shift=0) img 图像. pt1 矩形的一个顶点。 pt2 矩形对角线上的另一个顶点 阅读全文
posted @ 2021-03-04 15:04 手磨咖啡 阅读(2065) 评论(0) 推荐(0) 编辑
摘要:saturate_cast主要是为了防止颜色溢出操作。 在图像处理方面,无论是加是减,乘除,都会超出一个像素灰度值的范围(0~255),saturate_cast函数的作用即是:当运算完之后,结果为负,则转为0,结果超出255,则为255。 原理大致如下 if(data<0) data=0; els 阅读全文
posted @ 2021-03-04 14:19 手磨咖啡 阅读(1286) 评论(0) 推荐(0) 编辑
摘要:细胞水平: 显微结构和亚显微结构的水平。如细胞工程的所有操作,还有对细胞器的操作,以及染色体,都属于细胞水平。指对生物的细胞、细胞器、细胞核进行研究和改造。 分子水平: 就是分子水平。如对蛋白质和基因的研究等。指对生物大分子如蛋白质、DNA进行直接研究或改造。 细胞是生物体结构与生命活动的基本单位。 阅读全文
posted @ 2021-03-02 10:38 手磨咖啡 阅读(1329) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示