自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Qt 多线程详解 - 两种线程使用方式

Qt提供QThread类以进行多任务处理。与多任务处理一样,Qt提供的线程可以做到单个线程做不到的事情。例如,网络应用程序中,可以使用线程处理多种连接器。 QThread继承自QObject类,且提供QMutex类以实现同步。线程和进程共享全局变量,可以使用互斥体对改变后的全局变量值实现同步。因...

2020-05-09 15:11:27 76 0

原创 Qt 在子线程中修改UI

说明 因为UI更改需要在主线程中完成,如果在子线程中修改UI,会导致错误或者内存问题。 思路 在子线程中通过信号-槽的方式,向主线程发送更改UI的信号;主线程接收到信号后,完成对UI的更改。 注意 1、子线程中发送信号,必须要在子线程的头文件中加上宏Q_OBJECT。如果不加这个宏,在编...

2020-05-09 10:04:06 77 0

原创 vs2013 + Qt 同时运行界面窗口和控制台

在vs2013 + Qt5.8 环境下开发界面程序,经常需要打印一些调试信息,但是因为只显示界面窗口,无法将cout / qDebug() / printf 打印信息显示出来。其实只需要在项目下做个很小的调整就可以了: 右击项目打开属性,在子系统处选择“控制台”就可以了 再次运行项目,就可...

2020-04-14 15:02:28 202 0

原创 OpenCV 将OpenCV环境嵌套在C++项目中

概述 这是以前写的项目总结,今天发出来。 使用vs2010创建的opencv C++项目,配置好OpenCV,当项目发给同事使用,还需要配置opencv路径,这样就有点麻烦了!有种方法方式,可以省去这个配置的麻烦(前提同事使用的也是vs2010)。 方法 在项目的根目录创建两个文件夹,分别...

2020-03-06 14:20:02 80 0

原创 Ubuntu系统安装 - 单系统

1、前言 现有系统是 Windows7,想要安装ubuntu系统,并且只保留ubuntu系统。 2、下载ubuntu 16.04 系统镜像 下载地址 如果安装32位系统,就下载i386版本;如果安装64位,就下载amd64版本。 3、制作Ubuntu系统U盘启动工具 (1)准备一个大于...

2020-03-02 16:09:02 88 0

转载 相机帧率和曝光时间的关系

工业相机参数之帧率相关知识详解 工业相机是机器视觉系统的重要组成部分之一,在机器视觉系统中有着非常重要的作用。工业相机已经被广泛应用于工业生产线在线检测、智能交通,机器视觉,科研,军事科学,航天航空等众多领域。 工业相机的主要参数包括:分辨率、帧率、像素、像元尺寸、光谱响应特性等。下面我们来对...

2020-02-21 22:31:35 130 0

转载 C++ stack,STL stack详解

stack 是容器适配器的一种。要使用 stack,必须包含头文件 <stack>。 stack就是“栈”。栈是一种后进先出的元素序列,访问和删除都只能对栈顶的元素(即最后一个被加入栈的元素)进行,并且元素也只能被添加到栈顶。栈内的元素不能访问。如果一定要访问栈内的元素,只能将其上方的...

2020-02-19 21:06:07 158 0

转载 C++链表及其创建

链表是由一系列连接在一起的结点构成,其中的每个结点都是一个数据结构。 链表的结点通常是动态分配、使用和删除的,允许链表在程序运行时增大或缩小。如果需要将新信息添加到链表中,则程序只需分配另一个结点并将其插入到系列中。如果需要从链表中删除特定的信息块,则程序将删除包含该信息的结点。 链表对数组和矢...

2020-02-19 17:44:33 39 0

转载 C++ Struct与Class的区别与比较

概述 之前只知道在C++中类和结构体的区别只有默认的防控属性(访问控制)不同,struct是public的,而class是private的。但经过上网查资料才发现,除了这个不同之外,还有很多的知识点需要掌握。下面就听我一一道来~ 1、首先比较一下C中的结构体和C++中的结构体区别 C++中的...

2020-02-01 20:18:22 80 0

转载 C++ explicit关键字详解

首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式). 那么显示声明的构造函数和隐式声明的有什么区别呢? ...

2020-02-01 16:42:57 223 0

转载 C++ 操作符重载--什么时候需要自定义赋值操作符

先来看这么一个例子 class Test { private: int *ptr; public: Test(int i = 0) { ptr = new int(i); //构造函数 } void setValue(int i){ *ptr = i; //传值...

2020-02-01 16:24:07 77 0

转载 C++ 负数的二进制表示

问题: 假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:00000000 00000000 00000000 00000101 5转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。 -5在计算机中如何表示? 在计算机中, 正数是直接用原码...

2020-01-17 20:48:58 261 0

转载 C++ 类成员变量初始化顺序

首先,看一段程序: #include <iostream> using namespace std; class A { public: A() :n2(0), n1(n2 + 2) {} //~A(); void print() { cout &...

2020-01-16 23:02:50 87 0

原创 opencv Mat介绍

Mat简介 OpenCV1中存储图像是基于C接口定义的图像存储格式IplImage*,它的缺点是直接暴露内存。如果忘记释放内存,就会造成内存泄漏。 但是从OpenCV2开始,使用Mat类来存储图像,它的优势如下: (1)图像内存分配和释放由Mat类自动管理。 (2)Mat类由两部分数据组成...

2019-12-26 19:55:54 53 0

原创 Qt OpenCV读取资源中图片

简介 在 Qt 中图片资源文件路径为 “:/xxx/xxx/xxx.png”这种格式,而使用 OpenCV 的 imread() 函数是无法直接用这样的路径读取图像的。如果想要使用 OpenCV 的 imread() 函数读取 Qt 中的图片资源文件,需要先将图片读取到QByteArray 数组...

2019-12-23 15:52:29 128 0

转载 OpenCV 随机数

简介 产生随机数是编程中经常用到的操作,特别在进行初始化的时候需要赋一些随机值。C和C++中产生随机数的方法如rand()、srand()等在OpenCV中仍可以用。此外,OpenCV还特地编写了C++的随机数类RNG,C的随机数类CvRNG,还有一些相关的函数,使用起来更加方便。下面,一一介绍...

2019-12-23 15:31:33 47 0

原创 Qt findChild查找控件对象

简介 当已知控件的 objectName 时,想要获取此控件的对象并修改其属性,这时可通过findChild 函数来实现。 原型 findChild(const QString &aName = QString(), Qt::FindChildOptions options = Q...

2019-12-23 14:39:39 167 0

转载 OpenCV 图像中高频信息、低频信息

低频 低频就是颜色缓慢变化,也就是灰度缓慢地变化,就代表着那是连续渐变的一块区域,这部分就是低频。 对于一副图像来说,除去高频就是低频了,也就是边缘以内的内容为低频,而边缘内的内容就是图像的大部分信息,即图像的大致概貌和轮廓,是图像的近似信息。 高频 反之,高频即频率变化快,图像什么时候灰...

2019-12-23 14:25:30 399 0

原创 偏导数

本文引用与百度百科。 简介 在数学中,一个多变量的函数的偏导数,就是它关于其中一个变量的导数而保持其他变量恒定(相对于全导数,在其中所有变量都允许变化)。偏导数在向量分析和微分几何中是很有用的。 引入 在一元函数中,导数就是函数的变化率。对于二元函数研究它的“变化率”,由于自变量多了一个,...

2019-12-23 14:12:01 76 0

原创 二阶导数

本文引用与百度百科。 简介 二阶导数,是原函数导数的导数,将原函数进行二次求导。一般的,函数y=f(x)的导数yˊ=fˊ(x)仍然是x的函数,则y′′=f′′(x)的导数叫做函数y=f(x)的二阶导数。在图形上,它主要表现函数的凹凸性。 代数记法 几何意义 对于反函数 性质...

2019-12-23 13:59:00 101 0

原创 一阶导数

本文引用与百度百科。 简介 导数(英语:Derivative)是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。当函数 f 的自变量在一点 x0 上产生一个增量 h 时,函数输出值的增量与自变量增量 h 的...

2019-12-23 12:46:53 101 0

转载 向量内积(点积、点乘)和外积(叉乘)概念及几何意义

向量的内积(点乘) 定义 概括地说,向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b: a和b的点积公式为: 这里要求一维向量a和向量b的行列数相同。注意:点乘的结果是一个标量(数量而不是向量) 定义:...

2019-12-21 16:07:50 50 0

转载 opencv imshow函数详解

前言 使用opencv对图像进行处理之后,通常调用imshow函数来显示处理结果。但是,我们经常会发现显示结果和我们预期的结果有些差别。这是由于opencv经常会涉及到对多种图像数据类型的处理,如果我们对图像数据类型之间的转换以及imshow函数理解不够透彻,那么显示结果则不会尽如人意。 im...

2019-12-21 12:09:56 126 0

原创 opencv convertScaleAbs函数原理

函数释义 范围内,计算绝对值,并将结果转换为8位。 函数原型 void convertScaleAbs(InputArray src, OutputArray dst, double alpha=1, double beta=0) Parameters: src– Sou...

2019-12-21 11:49:40 371 0

转载 C++ 共用体

注:此文是原作者将 《C++ Primer 第6版》中关于共用体的内容复写了一遍,书中介绍的很详细,我就转载了。 基本语法 共用体(union)是一种数据格式,它能够存储不同的数据类型,但只能同时存储其中的一种类型,也就是说,共用体只能存储int、long或double,而结构体可以同时存储i...

2019-12-06 18:04:35 44 0

原创 opencv 泊松融合

图像融合简介 图像融合(Image Fusion)是指将多源信道所采集到的关于同一目标的图像数据经过图像处理和计算机技术等,最大限度的提取各自信道中的有利信息,最后综合成高质量的图像,以提高图像信息的利用率、改善计算机解译精度和可靠性、提升原始图像的空间分辨率和光谱分辨率,利于监测。 在图像处...

2019-11-08 16:25:26 248 0

转载 Qt 延时之QApplication::processEvents详解

应用场景一:处理密集耗时的事情 有时候需要处理一些跟界面无关的但非常耗时的事情,这些事情跟界面在同一个线程中,由于时间太长,导致界面无法响应,处于“假死”状态。例如:在应用程序中保存文件到硬盘上,从开始保存直到文件保存完毕,程序不响应用户的任何操作,窗口也不会重新绘制,从而处于“无法响应”状态,...

2019-11-06 17:49:39 136 0

原创 C++ 已知起始时期、截止日期,计算相差多少天

1、全局变量 int g_nSurplusDays = 0; //剩余天数 int g_nCheckYear = 1901; //校验年份 int g_nCheckMonth = 0; //校验月份 int g_nCheckDay = 0; //校...

2019-10-29 17:05:44 197 0

原创 C++ 已知起始日期和使用天数,计算截止日期

1、全局变量 int g_nCheckYear = 1901; //校验年份 int g_nCheckMonth = 0; //校验月份 int g_nCheckDay = 0; //校验日 int g_nCheckHour = 0; //校验...

2019-10-29 16:43:10 180 0

转载 Qt 信号-槽的同步与异步处理

通常使用的connect,实际上最后一个參数使用的是Qt::AutoConnection类型:Qt支持6种连接方式。当中3中最主要: 1.Qt::DirectConnection(直连方式)(信号与槽函数关系类似于函数调用。同步运行) 当信号发出后。对应的槽函数将马上被调用。emit语句后的...

2019-10-29 16:15:49 70 0

转载 opencv Windows+opencv+Qt环境配置

工具: CMake:3.8.2OpenCV:3.0.0(测试了下3.1.0与3.2.0也可以)QT:5.8.0MinGW:5.3.0系统: WIndows 10 开始 1. OpenCV 下载完解压到某一文件夹:2.CMake. 选择source文件以及输出的文件路径。这里的source文...

2019-10-29 16:13:52 98 0

转载 Qt 中的对象类型转换(Qstring 转换char*有三种方法)

char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = ch1;//不报错,但有警告 ch1 = (char *)ch2; char 与 QStrin...

2019-10-29 15:48:29 43 0

转载 QT QImage 与 Opencv的Mat 之间互转

1、QImage 转 Mat cv::Mat QImageToMat(QImage image) { cv::Mat mat; switch (image.format()) { case QImage::Format_ARGB32: case QImage::Format_RGB3...

2019-10-29 15:37:33 51 0

转载 Linux 常用解压与压缩命令

.tar 文件 # 仅打包,并非压缩 tar -xvf FileName.tar # 解包 tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包 .gz文件 # .gz gunzip FileName.gz # 解压1 gzip...

2019-10-29 15:32:36 34 0

转载 C++ error c3872: “0x3000”: 此字符不允许在标识符中使用

在复制黏贴代码时,经常会出现这个错误,原因如下: 0x3000是汉语的空格,也就是全角空格,相当于一个汉字,但你又看不见它。 你知道的,像逗号,有半角(,)和全角(,)之分的,其实空格也有。 0x3000是全角的空格,0x20是半角的空格。 最好把这个语句的后面空白部分,都删除掉,免得有不可见的...

2019-10-29 14:51:19 52 0

原创 MFC CString 与 int 之间的互转

1. CString 转 int int n = 0; CString str = _T("123"); n = _ttoi(str); 2. int 转 CString int n = 0; CString str; str.Format(_T(%d) , n)...

2019-10-29 14:48:36 210 0

转载 MFC 获取系统当前时间

1 使用CTime类 CString str; //获取系统时间    CTime tm; tm=CTime::GetCurrentTime();    str=tm.Format("现在时间是%Y年%m月%d日 %X %H:%M:%S"); MessageBox(s...

2019-10-29 14:45:03 64 0

原创 Ubuntu 配置第三方动态库的系统环境变量

环境 ubuntu16.04 + Qt5.7.1 简述 将第三方动态库配置到系统环境变量中,便于使用。 步骤 1、将第三方动态库的头文件及 so 文件拷贝到桌面; RSAInclude文件夹: lib文件夹: 2、进入桌面文件夹,打开命令框; 3、输入命令 cp ...

2019-10-14 17:33:42 112 0

原创 QT 5.7虚拟键盘(支持中文输入)Windows+Ubuntu

一 Windows下 Qt5.7.1安装虚拟键盘(支持中文输入) 1、环境: windows + qt5.7.1(qt-opensource-windows-x86-mingw530-5.7.1.exe) 2、Qt环境及虚拟键盘源码下载地址:https://blog.csdn.net/qq_...

2019-10-14 16:40:09 97 0

原创 Ubuntu GNOME去除顶栏和窗口标题栏方法(亲测可用)

一、环境 Ubuntu16.04 + gnome3 ( gome shell 3.18.5) 二、简介 因项目需要,软件在 Ubuntu 系统中运行,并且全屏显示。而在 Ubuntu 系统中,侧边栏的自动隐藏很容易实现,因为 Ubuntu 本身就自带这个功能,而最头疼的是顶栏,他占据了一定的...

2019-09-22 15:25:44 3108 0

提示
确定要删除当前文章?
取消 删除