经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 C++

QT+OpenCV实现录屏功能

本文使用QT+opencv来实现对指定窗体画面录制,并保存为avi文件。 (1)获取窗体界面 QScreen类有一个grabWindow函数,可以用来获取窗体的画面,这个函数使用很简单,就是传入窗体句柄和要截取的坐标。但是这个函数有一个缺陷,它是通过截取桌面画面的方式,而不是通过 窗体获...[2022/1/19]

OpenCV实现简单套索工具

OpenCV实现简单套索工具

Photoshop中的套索工具通过鼠标多次点击可以选中一个任意多边形的区域,然后单独对这块区域进行编辑,下面就使用OpenCV实现一个简单的功能,模拟Photoshop中的套索工具。 这里的套索工具通过鼠标左键在图片上多次点击创建任意多个点,右键点击后将这些点连成封闭的多边形,形成一块待编辑的...[2022/1/19]

OpenCV绘制图形功能

本文实例为大家分享了OpenCV绘制图形功能的具体代码,供大家参考,具体内容如下 1、绘制直线 绘制直线函数是cv::line,函数完整形式如下 void line(InputOutputArray img, Point pt1, Point pt2, const Scalar&...[2022/1/19]

简单聊聊C++中回调函数的实现

简单聊聊C++中回调函数的实现

目录前言1 函数指针2 C风格的回调函数3 C++风格的回调函数4 多态类型的回调函数5 通过function和bind实现回调函数功能6 总结 前言 回调函数其实和普通函数一样,不同的是普通函数是直接在程序中进行调用,回调函数是通过函数指针将它的地址传递给其它函数,函数执行在其它函数体执行,这...[2022/1/19]

分巧克力(刷题赛)

reference #include<iostream> #include<cstring> using namespace std; /*使得将巧克力按照边长maxX进行切分 ,切分成的份数要大于等于K, 而如果按照maxX+1进行切割 ,将不再能够切出K块。 如果从...[2022/1/18]

C++&nbsp;Qt&nbsp;QColorDialog使用方法

目录QColorDialog使用方法getColor的调用QPalette setColor Qt提供了颜色选择框,如下图: QColorDialog使用方法 例如下面的代码,点击按钮弹出颜色选择框,选择颜色,改变QLabel的背景色 #include "widget.h" #i...[2022/1/17]

OpenCV实战之图像拼接的示例代码

目录背景实现步骤一、读取文件二、单应性矩阵计算三、图像拼接总结 背景 图像拼接可以应用到手机中的全景拍摄,也就是将多张图片根据关联信息拼成一张图片; 实现步骤 1、读文件并缩放图片大小; 2、根据特征点和计算描述子,得到单应性矩阵; 3、根据单应性矩阵对图像进行变换,然后平移; ...[2022/1/17]

C#跨平台开发之使用C/C++生成的动态链接库

C#跨平台开发之使用C/C++生成的动态链接库

操作环境:Visual Studio 2017 如何实现 使用 C# 进行嵌入式开发? .NET Core 虽然实现了跨平台,但是不可能处处使用 C# 开发,就好像没人使用SQL开发安卓APP,每种语言都有其优秀的地方和局限性。 就传感器、32位、16位嵌入式设备,可能只有那么几KB的...[2022/1/17]

C++&nbsp;实现对象池的具体方法

目录前言一、什么是对象池二、如何实现1.确定接口2.转成代码三、完整代码四、使用示例1、对象复用,示例:2、简易的线程池,示例:总结 前言 需求无限,但资源有限的情况下,就需要对资源进行专门的管理。不断的申请和释放内存是不合理的,会造成内存的波动,以及内存不受限的增长。比如,实现了一个消息队列,...[2022/1/17]

【Warrior刷题笔记】力扣169. 多数元素 【排序 || 哈希 || 随机算法 || 摩尔投票法】详细注释 不断优化 极致压榨

题目 来源:力扣(LeetCode) 链接:https: leetcode-cn.com/problem majority-element/ 注意,该题在LC中被标注为easy,所以我们更多应该关注的是文章中不断优化的思路和方法。很多时候面试考察的,就是与面试官一起做题并把时间复杂度和空间复...[2022/1/17]

Qt 6.2.1 Components and Libs

Qt WebEngine :qt镶嵌html; Active Qt :也与网页有关; Qt 3D :qt的三维图形; Qt charts :qt的图表; Qt Connectivity :qt应用的蓝牙相关设置; Qt Data Visualization :qt的三维图形加强版; Qt Ima...[2022/1/17]

哈夫曼树(Huffman树)原理分析及实现

哈夫曼树(Huffman树)原理分析及实现 1 构造原理 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:   (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);   (2) 在森林中选出两个根结...[2022/1/17]

c++的bind使用方法

c++的bind使用方法

c++的bind使用方法 除了容器有适配器之外,其实函数也提供了适配器,适配器的特点就是将一个类型改装成为拥有子集功能的新的类型。其中函数的适配器典型的就是通过std::bind来实现。 std::bind函数定义在头文件functional中,是一个函数模板,它就像一个函数适配器,接受一个可...[2022/1/17]

C/C++ Qt 运用JSON解析库 [解析篇]

C/C++ Qt 运用JSON解析库 [解析篇]

JSON是一种简单的轻量级数据交换格式,Qt库为JSON的相关操作提供了完整的类支持,使用JSON解析文件之前需要先通过TextStream流将文件读入到字符串变量内,然后再通过QJsonDocument等库对该JSON格式进行解析,以提取出我们所需字段。 首先创建一个解析文件,命名为conf...[2022/1/17]

KCP协议学习

KCP协议学习

简介 KCP是一个快速可靠协议,能以比 TCP 浪费 10%-20% 的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 KCP。 连时钟都需要外部...[2022/1/17]

C++高并发场景下读多写少的优化方案

C++高并发场景下读多写少的优化方案 概述 一谈到高并发的优化方案,往往能想到模块水平拆分、数据库读写分离、分库分表,加缓存、加mq等,这些都是从系统架构上解决。单模块作为系统的组成单元,其性能好坏也能很大的影响整体性能,本文从单模块下读多写少的场景出发,探讨其解决方案,以其更好的实现高并发。 ...[2022/1/17]

《C++自学入门》3.基本数据类型-3

1.C++算术运算符 1.1  基本运算符     读者可能还对学校里的算术练习记忆犹新,在计算机上也能够获得同样的乐趣,C++使用运算符来运算。它提供了几种运算符来完成五种基本的算术运算:加法、减法、乘法、除法以及求模。每种运算符都使用两个值来计算结果。运算符及其...[2022/1/17]

c++的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)

c++的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)

c++的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward) c++的左值,右值 精辟总结 当一个对象被用作右值的时候,使用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)左值右值,完美转发参考文档。 左值持久,右值...[2022/1/17]

番外--&gt;数据在计算机的存储

类型,不光出现在定义变量的时候,还有使用变量的时候。 类型决定了开辟空间的大小 存的角度,定义变量时使用何种类型就代表分配给变量多大的内存空间,这个变量最大能拥有多少空间。 如:int a就分配给了a变量4个字节的空间,char就是1个字节。 看待内存空间的方式 取的...[2022/1/17]

c++智能指针的使用,shared_ptr,unique_ptr,weak_ptr

c++智能指针的使用 官方参考 普通指针的烦恼:内存泄漏,多次释放,提前释放 智能指针 负责自动释放所指向的对象。 三种智能指针 shared_ptr,unique_ptr,weak_ptr; 将shared_ptr存放在一个容器中,不再需要它的时候,要erase掉。 allocato...[2022/1/17]

《C++自学入门》4.复合数据类型-1

《C++自学入门》4.复合数据类型-1

假设宁开发了一个名叫“英雄联盟”的游戏,玩家需要控制角色最终打爆对面基地,从而取得胜利,这些角色支持普通攻击和技能攻击,每个角色还有对应的动作,或者特定的攻击力,血量等数据。宁很快就会发现,基本数据类型完全不能实现,C++提供了复合类型,这种类型时基于整型和浮点类型创建的。最为巧妙的复合数据类型...[2022/1/17]

【C++ Primer Plus】编程练习答案——第18章

1 chapter18.h 2 3 #ifndef LEARN_CPP_CHAPTER18_H 4 #define LEARN_CPP_CHAPTER18_H 5 6 #include <iostream> 7 #include <initializer...[2022/1/17]

select,poll,epoll的区别以及使用方法

I/O多路复用是指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。 原生socket客户端在与服务端建立连接时,即服务端调用accept方法时是阻塞的,同时服务端和客户端在收发数据(调用recv、send、sendall)时也是...[2022/1/17]

基于C++&nbsp;OpenCV制作电子相册查看器

目录前言一、图片读取二、图片展示三、键盘控制四、效果显示五、源码总结 前言 本文将使用OpenCV C++ 制作电子相册查看器。类似于win10系统的“照片”功能。接下来就具体来看看是如何一步步的实现吧。 一、图片读取 我们想要一张张的查看文件夹下的图片,第一步就...[2022/1/17]

C++&nbsp;OpenCV实现抖音&quot;蓝线挑战&quot;特效

目录前言一、图像扫描二、生成定格图像三、图像混合四、效果显示五、源码总结 前言 本文将使用OpenCV C++ 实现抖音上的特效“蓝线挑战”。虽然看起来觉得很牛的样子,但如果了解其中的原理就非常简单了。本案例是我自己对于这个特效实现过程的理解,仅供参考。 算法原理可以...[2022/1/17]

C++中友元函数(friend)解析

 文章转自公众号:Coder梁(ID:Coder_LT) 我们知道C++控制对象的私有部分的访问,只能通过公共的接口。这样的设计当然没错,但有的时候也会显得过于严格,产生一些问题。 因此C++提供了另外一种形式的访问权限,叫做友元(friend)。 友元有三种,分别是友元函数...[2022/1/3]

C++构造函数一些常见的坑

文章转自微信 公众号:Coder梁(ID:Coder_LT) 某一天我们接到了一个需求,需要开发一个类似于STL中string的类。 我们很快写好了代码: #include <iostream> #ifndef STRINGBAD_H_ #define STRINGBA...[2022/1/3]

C++类常量和类枚举

目录1.类常量2.类枚举 文章转自公众号:Coder梁(ID:Coder_LT) 1.类常量 有的时候, 我们希望能给类当中定义一些常量,可以给所有类的对象使用。 比如说我们在类当中定义一个数组,希望可以定义一个常量,用来初始化数组的长度。既然是用来初始化数组长度的,那么这个值自然也不...[2022/1/3]

C++抽象数据类型介绍

公众号:Coder梁(ID:Coder_LT) 我们在学数据结构的时候,经常遇到的一个概念就是抽象数据类型(Abstract Data Type),简称ADT。 维基百科中的定义是:抽象数据类型是计算机科学中具有类似行为的特定类别的数据结构的数学模型,或者具有类似语义的一种或多种程序设计语...[2022/1/3]

C++运算符重载详情介绍

文章转自公众号:Coder梁(ID:Coder_LT) C++当中除了函数可以重载之外,其实运算符也是可以重载的。我们之前已经接触过一些,可能大家没有意识到。 举个例子,乘号*,运用在指针上,就是取值的意思,而运用在算数当中,则是乘法的意思。同样一个符号,用在不同的地方,起到了不同的效果。...[2022/1/3]

C++运算符重载限制介绍

目录一、重载限制1.必须至少有一个操作数是用户定义的类型2.不能违反运算符原来的规则3.不能创建新运算符4.禁止名单5.部分运算符只能通过成员函数重载  文章转自公众号:Coder梁(ID:Coder_LT) 一、重载限制 上一篇我们讲了在类和结构体当中重载运算符,关于运算符的重载...[2022/1/3]

C++实现简易选课系统代码分享

下面是详细代码分享: #include<bit tdc++.h> using namespace std; 声明函数部分: 声明函数部分 void BuildMainMenu(); 声明主菜单函数 void SelectSytem(int AID,int who);...[2022/1/3]

C++this指针详情

还是Stock股票这个类,假设我们要实现一个方法,比较一下当前股票和传入的股票, 返回价格高的那个股票。在我们实现的时候,会遇到一点问题。 const Stock & Stock::topVal(const Stock &s) const { ? ? if (s.total_...[2022/1/3]

C++实现转置矩阵的循环

目录前言一、思路分析二、代码实现1.转置矩阵函数2.调用函数实现转置矩阵总结 前言 矩阵的转置主要考查我们对循环的使用,通过简单的循环结构,我们可以很方便的完成矩阵的转置。 一、思路分析 转置矩阵与原矩阵的区别在于行列交换,我们可以构建一个二维数组完成对原矩阵的存储,我们只需将每个...[2022/1/2]

C++对象与继承使用中一些问题介绍

目录定义抽象类类的继承使用new关键字实例化对象,只能用指针变量来接收使用普通的对象属性及方法时使用.来引用,但是用指针表示的对象则使用->定义类的时候,属性需要赋初始值的请况类的前置声明命名空间的使用总结 定义抽象类 cla Person { public: virtual vo...[2022/1/2]

C++名称空间特性

目录一、名称空间特性1.嵌套2.传递3.别名4.匿名名称空间 文章转自微信公众号:Coder梁(ID:Coder_LT) 一、名称空间特性 1.嵌套 我们可以将名称空间声明进行嵌套: namespace elements { ? ? namespace fire { ? ? ? ...[2022/1/2]

C++类的定义与实现

目录一、类的定义二、类的实现1.成员函数2.内联函数 文章转自 微信公众号:Coder梁(ID:Coder_LT) 一、类的定义 根据C++ Primer中的描述,类的定义是一种将抽象转换为用户定义类型的C++工具。也就是说类的实质是一种用户自定义类型,它可以将数目表示和操作数据的方法组合成...[2022/1/2]

C++构造函数详解

文章转自公众号:Coder梁(ID:Coder_LT) 上一篇文章我们介绍了定义了类,在使用之前,往往还需要对类进行初始化。这篇介绍的就是对类进行初始化的方法。 像是结构体,我们可以使用列表初始化的方法进行初始化: struct Thing { ? ? char *pn; ? ? ...[2022/1/2]

C++计算圆形、矩形和三角形的面积

题目描述 运用多态编写程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea()分别输出以上三者的面积(结果保留两位小数),3个图形的数据在定义对象时给定。 输入 圆的半径 矩形的边长...[2022/1/2]

C++using声明和using编译指令

目录1.using声明2.using编译指令 1.using声明 C++当中提供了两种机制(using声明和using编译指令)来简化对名称空间中名称的使用。using声明使特定的标识符keys,using编译指令使整个名称空间可用。 using声明由关键字using和被限定的名称组成: ...[2021/12/31]

C++名称空间介绍

目录1.名称空间 1.1传统C++名称空间 1.2新的名称空间特性 1.名称空间 在C++当中,名称可以是变量、函数、结构体、枚举、类以及结构体和类的成员。这本身并没有问题,但随着项目的增大,名称之间相互冲突的可能性也会大大增加。 比如我们使用了多个厂商的代码,它们都定义了List,T...[2021/12/31]

C++递归实现选择排序算法

目录基本思想举例完整代码 基本思想 每次找出最小元素,通过交换实现将其放在乱序的首位,直到所有元素都已经排好序。 举例 以 A[10] = { 3,1,6,4,8,2,10,7,9,5 } 为例 第一次选择排序:排位置0,元素1是位置0以后的最小元素,那么swap(A[0], A[1...[2021/12/31]

C++存储方案和动态分配

目录存储方案和动态分配 初始化 存储方案和动态分配 在之前的文章当中,我们讨论了C++用来为变量分配内存的5种方案,但是这些方案并不适用于使用new运算符分配的内存,这种内存被称为动态内存。 我们在之前的文章当中也曾介绍过,动态内存由new和delete控制,而不是由作用域和链接性规则...[2021/12/31]

C++ NFS挂载

挂载NFS 挂载命令 挂载NFS时,常用的命令比如: #将远程目录挂载到本地/home hare目录下 mount -t nfs -o nolock 192.168.1.10:/tmp /home hare 在Linux 下可以用mount函数进行挂载: bool Mount() { ...[2021/12/31]

Protobuf 动态加载 .proto 文件并操作 Message

Google Protocol Buffer 的常规用法需要使用 protoc 将 .proto 编译成 .pb.h 和 .pb.cc,这样做效率非常高,但是耦合性也很高。在某些追求通用性而不追求性能的场景下,需要使用 .proto 直接操作 protobuf 数据。 本例使用的 .proto...[2021/12/31]

c++读取文件操作和写入文件

在C++中与读取文件和写入文件简单操作有关的类分别有ifstream(文件读入)、ofstream(文件写出)、fstream (文件读入和写出)。 名称 作用 ifstream 文件读入 ofstream 文件写出 fstream 文件读入和写出 对于文件操作操作...[2021/12/31]

力扣刷题笔记 (1) - HM-7

2021-12-30  LeetCode T846 希望自己可以坚持写博客的习惯?? 题目描述:   Alice 手中有一把牌,她想要重新排列这些牌,分成若干组,使每一组的牌数都是 groupSize ,并且由 groupSize 张连续的牌组成。   给你一个整数数组 han...[2021/12/31]

freeswitch APR-UTIL库线程池实现分析

      概述 freeswitch的核心源代码是基于apr库开发的,在不同的系统上有很好的移植性。 APR库在之前的文章中已经介绍过了,APR-UTIL库是和APR并列的工具库,它们都是由APACHE开源出来的跨平台可移植库,不同点在于库中实现的功能...[2021/12/31]

c++模板类的使用,编译的问题

1,模板类编译的问题 前两天在写代码时,把模板类的声明和分开放在两个文件中了,类似于下面这样: stack.hpp: #ifndef _STACK_HPP #define _STACK_HPP template <typename Type> cla stack { ...[2021/12/24]

C++ 未初始化内存出现 flashback

在 C++ 中分配一个未初始化内存,然后读取它,会读取到这块内存之前被使用所留下的值,这种现象我称之为 flashback。 栈内存很容易出现这种现象,而且很容易观测出某种规律。 for (int i = 0; i < 10; ++i) { int a; std::c...[2021/12/24]

336
2
记录数:2743 页数:1/5512345678910下一页尾页
加载更多
 友情链接: NPS