自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行仔ovo的博客

你我都是内卷洪流里的尘埃

  • 博客(80)
  • 资源 (4)
  • 收藏
  • 关注

原创 OpenCV - Universal intrinsics 统一指令集

文章目录0. OpenCV版本1. 寄存器数据类型2. 方法3. 说明0. OpenCV版本选用的4.5.2版本,因为4.5.1版本第一次加入对avx256指令集的相关代码,担心不稳定,但是此时4.5.3又下载太慢,所以用了4.5.2。1. 寄存器数据类型2. 方法3. 说明......

2022-07-22 11:36:49 1383 2

原创 【QT】- QT中线程启动方式和操作的注意问题

文章目录0. QT中线程启动的方式0.1 继承QThread0.2 使用moveToThread启动0.3 使用QtConcurrent启动1. 对象方法调用时的坑1.1 对方方法调用方式1.2 坑2. 信号槽的5种连接方式3.1 直接连接3.2 队列连接3.3 阻塞队列连接3.4 自动连接3.5 单一连接4. 测试代码0. QT中线程启动的方式0.1 继承QThread继承QThread时,子类必须重写run方法,保证线程在手动结束之前持续运行。当子类使用start方法启动后,run方法会在生命周

2022-05-04 14:42:11 2581 1

原创 学习记录 - Python3.6环境使用ERS超像素分割算法

0. ERS算法1. 问题原本ERS算法的作者提供了python接口,但是是基于Python2的,在python3.6中调用的话,会出现缺失DLL的错误,如下图:2. 解决方案作者提供了ERS算法的C语言源代码,所以基于Python3.6重新编译一下即可。2.1 安装vs我安装的是VS2017社区版。等待安装完成。2.2 解压boost安装 boost 1.6.0,高的版本会出问题,有些接口被取消了。直接下载二进制文件https://dl.bintray.com/boostorg/

2022-05-04 12:50:00 1744 4

原创 C++学习记录 - 进程创建

文章目录1. 创建进程2. exec函数族2.1 execlp2.2 execl3. 回收子进程3.1 wait函数3.2 waitpid函数4. 进程间通信(IPC)4.1 管道(PIPE)4.2 有名管道(FIFO)4.3 共享映射区(共享内存)4.4 本地套接字1. 创建进程c/c++中,使用fork()函数创建一个进程。pid_t pid = fork();子进程自fork()以后开始执行。fork()函数返回值,为pid_t类型,父子进程依靠pid的不同进行区分。如果fork失败,pi

2022-05-03 12:02:48 5285

原创 【基础算法】- 算术表达式计算方法

文章目录0. 表达式树1. 后缀表达式计算2. 中缀表达式计算法2:0. 表达式树1. 后缀表达式计算后缀表达式:也叫逆波兰表达式,是表达式树的后序遍历。在计算时,不用还原出整棵树,可用一个栈来辅助计算。leetcode 150. 逆波兰表达式求值class Solution {public: int evalRPN(vector<string>& tokens) { int st[10005]; int tt = 0;

2022-05-02 10:50:55 1272

原创 【数据集】- Cityscapes DataSet

文章目录0. 数据集概述1. 特点0. 数据集概述Cityscapes 数据集专注于对城市街景的语义理解。1. 特点多边形的标签实例分割车辆和人30个类别5000张精细标注的图20000张粗略标注的图leftImg8bit_trainvaltest.zip (11GB)left 8-bit images - train, val, and test sets (5000 images)https://www.cityscapes-dataset.com/file-handling/?p

2022-04-28 08:58:44 1498

原创 C++学习记录 - 构造函数与析构函数部分知识点

文章目录1. 编译器默认添加的函数2. 如何禁止拷贝构造函数、拷贝赋值函数?3. virtual 修饰的析构函数4. 纯虚函数与纯虚析构函数的区别1. 编译器默认添加的函数自写类的时候,如果没有显式的写出来构造函数、析构函数、拷贝构造函数、拷贝赋值函数。如果程序中这些函数被需要(被调用),编译器就会默认的创建这些函数。默认的构造函数和析构函数都是空实现的。默认的拷贝构造函数和拷贝赋值函数都是浅拷贝。如果有自己写的一个或者多个构造函数(不管有无参数),那么编译器都不会再添加默认的构造函数。2.

2022-04-26 11:48:13 171

原创 【cuda】cuda与OpenGL互操作

文章目录0. BASE1. 套路0. BASEcuda用于通用计算。openGL用于渲染。可以使用VBO、VPO用于二者之间的相互操作。本文以VBO为例。1. 套路s1:在OpenGL中创建VBO对象glGenBuffers(1, vbo);glBindBuffer(GL_ARRAY_BUFFER, *vbo);glBufferData(GL_ARRAY_BUFFER, size, 0, GL_DYNAMIC_DRAW);glBindBuffer(GL_ARRAY_BUFFER, 0)

2022-04-18 16:09:37 1668 1

原创 【排序算法】 - 常见排序算法及稳定性

文章目录1. 代码2. 稳定性1. 代码/* * @Brief: 常见排序算法汇总 * @Author: * @Date: 2021-07-01 */#include <iostream>#include <algorithm>#include <vector>#include <queue>using namespace std;void printArray(int *a, int len){ for(int i =

2021-12-20 20:04:26 199

原创 2C4T与4C4T在计算密集型任务下的效率对比

文章目录1. 环境2. 代码3. 结果1. 环境机器1:Intel® Core™ i5-4200H CPU @ 2.80GHz,双核四线程,win10 x64,16G内存机器2:Intel® Core™ i3-9100T CPU @ 3.10GHz,四核四线程。wn10 x64,8G内存目的:大概测试一下2C4T与4C4T在计算密集型任务下的效率提升对比,内存大小、频率暂且忽略。方法:使用openMP控制计算任务中的线程使用数量,测试12层for循环所消耗的时间(12是1、2、3、4的公倍数,防止

2021-10-03 20:45:51 1452

原创 数据结构与算法(8) - bitmap

文章目录c++ code:#include <iostream>#include <cstring>using namespace std;class bitmap{public: bitmap(int _ss){ ss = _ss; // 要存的总数 int_ss = ss / 32 + 1; ptr = new unsigned int[int_ss]; memset(ptr, 0,

2021-09-19 15:49:51 184

原创 C++学习记录 - operator new、new operator、delete等

文章目录0. placement new0.1 重载placement new1. new operator2. delete operator3. operator new4. operator delete5. new 做了哪些事情?6. array new 与 array delete7. delete[ ] 为什么能够释放数组?0. placement new即 原地构造。用法:int *p = new int(10); // new operatornew(p) int(1000);

2021-08-20 22:23:55 297

原创 小数在计算机中的存储方式

文章目录0. 小数在计算机中的存储1. 定点数2. 浮点数2.1 科学计数法2.2 浮点数的存储2.3 浮点数的精度损失0. 小数在计算机中的存储两种方法:定点浮点1. 定点数顾名思义,小数点的位置固定的。也就是说,用固定数量的bit存储整数部分,也用固定数量的bit存储小数部分,另外再用一个bit存储符号位。计算时,将三个部分拼接起来,加个小数点即可。优点:小数点位置固定,方便计算。缺点:表示输的范围受限。2. 浮点数浮点数在计算机中的存储依赖科学计数法。2.1 科学计数法

2021-08-17 23:16:06 5177

原创 OpenCV学习记录 -膨胀、腐蚀、开运算和闭运算

文章目录1. 膨胀和腐蚀2. 开运算和闭运算1. 膨胀和腐蚀膨胀和腐蚀实质都是卷积操作,卷积核可以是不规则的形状,可以认为“膨胀”和“腐蚀”是对于白色像素而言的,白色像素的扩张或收缩。膨胀:用局部最大值代替锚点位置亮度值,所以膨胀会使整体亮度增加。腐蚀:用局部最小值代替锚点位置亮度值,所以腐蚀会使整体亮度降低。膨胀与腐蚀能实现多种多样的功能,主要如下:消除噪声分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素。寻找图像中的明显的极大值区域或极小值区域求出图像的梯度

2021-08-06 10:10:57 190

原创 C++学习记录 - 类型转换

文章目录0. 必要性1. const_cast2. static_cast3. dynamic_cast4. interpret_cast0. 必要性C语言中的类型转换,没有安全检查,安全性需要程序猿来保证,C++提供了4种类型转换的方法,在一定程度上保证转换的安全性。重点是 dynamic_cast1. const_cast仅用于去除类型的const属性,也是四种类型转换中,唯一可以去掉const限制的方法。只能转换 指针、引用、this(在类内的时候用)。2. static_cast

2021-08-02 21:07:40 133

原创 操作系统学习 - 处理机调度

文章目录1. 处理机调度的概念、层次三层调度小结2. 引入了挂起状态后的进程七状态模型3. 进程调度(低级调度)的相关时机切换与过程方式4. 进程调度算法1. 处理机调度的概念、层次调度:处理机调度,就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。三层调度【高级调度】(作业调度)按照一定的原则从外存上处于后备队列的作业中挑出一个(或多个),给他们分配内存等必要资源,并建立相关的进程(建立PCB),以使得他们获得竞争处理机的权利。高级调度主要是指调入到内存的

2021-07-19 16:45:59 219

原创 C++学习记录 - 智能指针

文章目录1. 什么是智能指针2. auto_ptr3. unique_ptr4. shared_ptr5. weak_ptr1. 什么是智能指针简而言之,为了更安全的使用指针。实现方式简单来说,就是用一个模板类把一般的指针包装起来。用这个类来维护内部指针的释放操作。std中有四种智能指针。auto_ptr(已弃用)unique_ptrshared_ptrweak_ptr2. auto_ptr比较简单的智能指针,实现逻辑如下代码。实现的原则是:内存空间只能由一个指针所拥有。存在的问

2021-07-10 22:26:24 233 6

原创 Wireshark配合TCP调试工具理解TCP三次握手和四次挥手过程

文章目录0. 原材料1. 环境2. 抓包三次握手过程四次挥手过程发送数据测试0. 原材料抓包工具:wireshark许多文章都是使用浏览器去访问一个网站,抓http的包,进而分析下层的tcp协议过程,但是数据比较多,不清晰,所以我采用了TCP调试助手,这样的话,没有http数据的干预,比较清晰。1. 环境借用www.huawei.com的ip地址183.66.110.167。因为这个ip地址开了http服务,又因为http协议下层采用的tcp,所以这个ip的80端口一定有TCP服务在监听。

2021-07-06 15:22:40 558 2

原创 数据库学习记录 - 基本SQL操作

文章目录1. 关系型数据库2. 典型的关系型数据库3. SQL介绍4. Windows环境安装MySQL5. MySQL6. SQL库操作创建数据库显示数据库选择数据库修改数据库删除数据库7. SQL表操作创建表复制已有的表结构显示数据表显示表结构显示表创建时的语句修改表的属性修改表的结构删除表8. SQl数据操作插入数据查询数据删除数据修改数据(更新)1. 关系型数据库关系型数据库非关系型数据库关系型数据库由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系数据结构指的是数据以

2021-07-03 16:23:42 254

原创 操作系统学习 - 经典的进程同步互斥若干问题

文章目录1. 生产者-消费者问题多生产者 - 多消费者2. 吸烟者问题3. 读者-写者问题4. 哲学家进餐问题1. 生产者-消费者问题问题模型:系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用(产品:某种数据)。生产者、消费者共享一个初始为空、大小为 n 的缓冲区。只有缓冲区没满时,生产者才能把产品放进去,否则必须等待(同步关系)。只有缓冲区不空时,消费者才能取出产品,否则必须等待(同步关系)。缓冲区必须是互斥访问的,是

2021-06-30 16:48:04 1397

原创 操作系统学习 - 进程同步与互斥

文章目录1. 进程同步2. 进程互斥3. 信号量整型信号量记录型信号量小结4. 用信号量实现进程互斥5. 用信号量实现进程同步6. 用信号量实现进程的前驱关系1. 进程同步进程具有异步性,也就是说,各个并发执行的进程以各自独立的、不可预知的速度向前推进。两个或者多个进程需要在某些位置上制约他们的工作次序。2. 进程互斥进入区:上锁临界区:真正访问临界资源的代码块退出区:解锁剩余区:其他处理代码为了保证系统整体效率,需要遵循以下原则:空闲让进。如果临界区空闲,则可以允许一个有需要

2021-06-29 18:58:12 532 1

原创 操作系统学习 - 进程与线程

文章目录1. 进程基本概念2. 进程的状态及状态转换2.1 五种状态2.2 状态之间的转换小结3. 进程控制1. 进程基本概念2. 进程的状态及状态转换2.1 五种状态运行状态:占有CPU,并在CPU上运行单核CPU,每个时刻下只能有一个进程处于运行态。就绪状态:已经具备运行条件,但由于CPU在忙,而暂时不能运行。万事俱备,只欠CPU阻塞状态:因等待某一事件而暂时不能运行比如,进程进行了一次“系统调用”,等待系统的服务结果,此时进程就处于阻塞状态,也可以说等待状态。创建状

2021-06-29 09:55:53 571

原创 操作系统学习 - 逻辑地址转物理地址

文章目录1. 基本地址变换机构2. 具有快表的地址变换机构局部性原理快表引入快表后,地址变换过程1. 基本地址变换机构定义:用于实现逻辑地址到物理地址转换的一组硬件机构基本地址变换机构可以借助进程的页表将逻辑地址转换为物理地址。通常会在系统中设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M(就相当于一个数组),进程未执行时,F和M放在进程控制块(PCB)中,当进程被调度时,操作系统内核会把他们放到页表寄存器(PTR)中。过程描述:进程被调度后,操作系统从PCB中取得页表始址

2021-06-28 15:13:35 9531

原创 操作系统学习 - 内存覆盖与交换

文章目录内存覆盖内存交换1. 被换出的进程保存在外存的什么位置?2. 什么时候交换?3. 应该换出哪些进程?两种技术的对比内存覆盖思想:将程序分为多个多个模块,把内存空间分为一个“固定区”和若干个“覆盖区”。需要常驻内存的模块放在“固定区”中常驻,不常用的段放在“覆盖区”,需要用到时换入内存,用不到时就换出内存。内存交换思想:内存空间紧张时,系统将内存中某些进程暂时换出到外存中,把外存中某些已具备运行条件的进程换入到内存中。1. 被换出的进程保存在外存的什么位置?具有对换功能的操作系统中,通常

2021-06-27 19:40:29 894 2

原创 C++学习记录 - 内存对齐

为什么要内存对齐?经过内存对齐之后,一个最最主要的原因是可以使得CPU的内存访问速度大大提升。  内存空间按照byte划分,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。用空间换时间!CPU在读内存的时候是n个为一组的方式去读。假设此时4个字节为一组去读。内存对齐之后的内存空间如下图:这样的话,只需要读内存2次。先从第一组读,然后扣除

2021-06-25 21:26:00 71

转载 C++学习记录 - 常量折叠

转自:https://www.cnblogs.com/stemon/p/4406824.html0.前言前几天女票问了我一个阿里的面试题,是有关C++语言的const常量的,其实她一提出来我就知道考察的点了:肯定是const常量的内存不是分配在read-only的存储区的,const常量的内存分配区是很普通的栈或者全局区域。也就是说const常量只是编译器在编译的时候做检查,根本不存在什么read-only的区域。所以说C++的const常量和常量字符串是不同的,常量字符串是存储在read-only的

2021-06-24 09:09:56 520

原创 STl学习记录(3) - 迭代器与仿函数

文章目录0. C++标准库的算法是什么?1. 迭代器的分类为什么用继承来表示,而不用1,2,3...这种整数来表示?2.0. C++标准库的算法是什么?容器,是个类模板算法,是个函数模板迭代器,是个类模板仿函数,是个类模板适配器,是个类模板分配器,是个类模板算法(Algorithm)看不见容器,对其一无所知,所以,它所需要的一切信息都必须从迭代器(Iterator)。算法通过询问迭代器一些问题,来了解一些信息(比如,迭代器如何“走”),迭代器必须能够回答算法的所有提问,才能搭配该算法完成所

2021-06-10 00:05:34 130

原创 STL学习记录(2) - 关联式容器

文章目录list是一个双向链表。iterator也是一个类,需要重载*操作符、两个++的运算。iterator中至少有5个typedef在链表尾部,刻意加了一个空节点,与“前闭后开”的思想吻合。iterator必须能够回答algorithm的5个提问(但是实际上目前只用了3个):但是STL中的算法,参数不一定是class,可能就是一个一般的指针比如 int* 呢?那就不能直接问,需要间接的问,所以,在标准中加入了一个中介:迭代器萃取机(iterator traits)。算法先问萃取机,萃取机再

2021-05-06 00:48:49 86 1

原创 STL学习记录(1) - 顺序式容器

文章目录0. 序1. list2. vector3. array4. forward_list5. dequedeque如何模拟连续?6. queue7. stack0. 序学习STL源码做的笔记,主线是侯捷老师的《STL源码剖析》。本文中部分图片来自侯捷老师的PPT。1. listlist是一个双向链表。list容器的iterator也是一个类,需要重载*操作符、两个++的运算。因为list所占的内存空间不一定是连续的,可能是跳跃的。iterator中至少有5个typedef(不只是list

2021-05-05 00:13:13 140

原创 SGM算法开源库libSGM在windows下的编译和使用

文章目录0. 原材料1. 源码下载和编译1.0 代码clone1.1 新建文件夹1.2 配置cmake2. 调用3. 结果0. 原材料libSGM开源库是一个使用CUDA对半全局匹配算法SGM的加速实现版本。英伟达显卡(算力 >= 3.5)cuda环境(我的版本是cuda 10.0)OpenCV(版本 >= 3.0)Cmake(版本>=3.1)1. 源码下载和编译1.0 代码clone开源库地址:https://github.com/fixstars/libSGM

2021-04-23 17:06:35 1042 9

原创 windows环境下配置MQTT服务器(mosquitto)

文章目录0. 原料1. 下载和安装mosquitto2. 配置mosquitto2.1 开启匿名访问2.2 开启监听和远程访问3. 运行mqtt4. 测试MQTT5. 开机自启6. 注意事项0. 原料windows系统的主机mosquitto软件1. 下载和安装mosquittomosquitto可以自己到GitHub上下载源码根据自己实际需求进行编译,也可以直接使用官方提供的二进制文件,我这里直接用的官方二进制文件。到http://mosquitto.org/files/binary/下载

2021-04-10 20:30:52 15420 4

转载 海康威视网络摄像头管理员登录密码重置

提供的非全新摄像头忘了管理员密码,而且管理员连续输入7次,普通用户连续输入5次错误摄像头自动进入锁定状态,只能尝试重置,记录一下过程,快捷方便。 1.微信关注“海康威视客户服务” 2.点击“贴心服务”中的“密码重置”,应该需要注册,正常注册就行,公司地址顺便填没啥影响 3.注册完成,点击恢复设备类型 4.进入,下载“400密码重置助手”,按提示步骤操作即可重置。 下载地址1: http://www.hikvision.com/cn/wxxz.aspx?key=181 下载地址2: ftp://.

2021-04-02 14:49:23 16424

原创 深度学习记录(11) - 实操:构建ResNet

待填坑

2021-03-06 17:10:40 89

原创 深度学习记录(10) - 实操:构建GoogleNet

待填坑

2021-03-06 17:09:47 83

原创 深度学习记录(9) - 实操:构建VGGNet

待填坑

2021-03-06 17:09:00 119

原创 深度学习记录(8) - 实操:构建AlexNet

待填坑

2021-03-06 17:07:53 58

原创 深度学习记录(7) - 卷积神经网络

待填坑

2021-03-06 17:06:33 100

原创 深度学习记录(6) - 实操:手写数字识别

待填坑

2021-03-06 17:04:41 160

原创 深度学习记录(5) - 深度学习正则化

文章目录0.1. L1、L2正则化2. DropOut3 提前终止(Early Stopping)4. BN层0.上图是 欠拟合、好的拟合、过拟合三种情况。在许多机器学习算法中都采用相关的策略来减小测试误差,这些策略统称为“正则化”,经常会遇到过拟合,所以需要使用不同形式的正则化策略。目前在深度学习中使用较多的策略有:参数范数惩罚,提前终止,DropOut等1. L1、L2正则化这两种方法,通过在损失函数中增加一个正则项,使得权重矩阵的值减小。因为,这两种方法假定具有更小权重矩阵的神经网络就是

2021-03-06 16:58:36 241

原创 深度学习记录(4) - 深度学习网络的优化方法

文章目录0. epoch,batch,和iteration1. 前向传播、反向传播与链式法则2. BP算法(反向传播算法)3. 优化算法:梯度下降(BGD,SGD,MBGD)4. 优化算法:带动量的梯度下降(Momentum)4.1 带动量的梯度下降指数加权平均带动量的梯度下降算法5. 优化算法:Adagrad6. 优化算法:RMSprop7. 优化算法:Adam8. 学习率退火8.1 分段常数衰减8.2 指数衰减8.3 1/t衰减0. epoch,batch,和iterationEpoch:使用训练

2021-03-06 15:59:22 814

arduino IDE u8g2库 U8g2-2.27.6.zip

库来自arduino IDE ,非原创,Arduino IDE中的u8g2库,下载后,直接导入进去即可。

2020-04-23

DHT_sensor_library-1.3.8.zip

库来自github,非原创,Arduino IDE中的DHT库,下载后,放到arduino IDE的库目录下,即C:\Users\用户名\Documents\Arduino\libraries,用户名改成自己的。可能会提示找不到头文件Adafruit_Sensor.h,那你需要再下载一个Adafruit_Sensor库放到库目录下。

2020-04-23

若快答题易语言模块

若快答题易语言模块若快答题易语言模块若快答题易语言模块若快答题易语言模块

2018-02-25

易语言 时间更新源码

易语言 时间更新源码

2014-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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