自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(167)
  • 收藏
  • 关注

原创 颜色的线性混合

vertex shaderattribute vec3 kzPosition;attribute vec2 kzTextureCoordinate0;uniform highp mat4 kzProjectionCameraWorldMatrix;varying mediump vec2 vTexCoord;void main(){ precision mediump float; vTexCoord = kzTextureCoordinate0; //纹理坐标

2021-04-08 16:12:22 363

原创 shader倒影效果

vertex shader:attribute vec3 kzPosition;attribute vec2 kzTextureCoordinate0;uniform highp mat4 kzProjectionCameraWorldMatrix;uniform mediump vec2 TextureOffset;uniform mediump vec2 TextureTiling;varying mediump vec2 vTexCoord;void main(){ pre

2021-03-31 18:47:00 424

原创 c++文件系统标准输入输出流的简单使用

#include<iostream>#include<fstream>#include<sstream>#include<string>using namespace std;void readFile(){ const char* filePath = "D:\\guiCode\\leeteCode\\sstreamTest\\sstreamTest\\file.txt"; ifstream readStream(filePath,ios.

2021-03-21 10:37:37 246

原创 设计模式书籍及参考

参考:https://blog.csdn.net/u012501459/article/details/46288651书籍下载:http://www.dofactory.com/net/design-patterns

2021-03-12 17:16:51 226

原创 OpenGL笔记学习

https://my.oschina.net/sweetdark

2021-03-12 11:02:45 189

原创 VS2015 release模式下调试设置

https://blog.csdn.net/liuzhezhe111/article/details/82155306

2021-03-11 14:29:11 209

原创 C++11 使用异步编程std::async和std::future

参考:https://www.cnblogs.com/moodlxs/p/10111601.html

2021-03-09 09:31:48 173

原创 c++ condition_variable

参考:https://www.cnblogs.com/haippy/p/3252041.html

2021-03-08 18:05:52 160

原创 c++ 读写锁机制

读写锁是多线程同步的另外一个机制。在一些程序中存在读操作和写操作问题,对某些资源的访问会存在两种可能情况,一种情况是访问必须是排他的,就是独占的意思,这种操作称作写操作,另外一种情况是访问方式是可以共享的,就是可以有多个线程同时去访问某个资源,这种操作称为读操作。这个问题模型是从对文件的读写操作中引申出来的。把对资源的访问细分为读和写两种操作模式,这样可以大大增加并发效率。读写锁比互斥锁适用性更高,并行性也更高。需要注意的是,这里只是说并行效率比互斥高,并不是速度一定比互斥锁快,读写锁更复杂,系统开销更大

2021-03-08 14:02:19 851

原创 c++变量初始化

参考:https://www.cnblogs.com/caidi/p/9679673.html

2021-03-08 13:27:14 99

原创 c++编码格式问题

利用c++11新特性 std::wstring_convert配合std::codecvt模板类,可以实现wstring与string之间的互转这两个模板类的功能是:std::wstring_convert:转码器,接收一个类似codecvt描述编码转换特性的模板参数,用于将本地化的宽字符wstring和指定编码的字节化string进行互转。std::codecvt:编码转换特性类,用在wstring_convert的模板参数中来指定使用哪种编码。例子:#include <codecvt&g

2021-03-04 10:37:48 267 1

原创 构造函数基本用法

https://www.cnblogs.com/xkfz007/archive/2012/05/11/2496447.html

2021-03-03 10:26:47 286

原创 atomic_flag 自旋锁

本文介绍 头文件中最简单的原子类型: atomic_flag。atomic_flag 一种简单的原子布尔类型,只支持两种操作,test_and_set 和 clear。std::atomic_flag 构造函数如下:atomic_flag() noexcept = default;atomic_flag (const atomic_flag&T) = delete;std::atomic_flag 只有默认构造函数,拷贝构造函数已被禁用,因此不能从其他的 std::atomic_flag

2021-03-02 15:39:01 501

原创 std::lock避免死锁

多线程 std::lock当要同时操作2个对象时,就需要同时锁定这2个对象,而不是先锁定一个,然后再锁定另一个。同时锁定多个对象的方法:std::lock(对象1.锁,对象2.锁…)额外说明:lock_guard lock_a(d1.m, std::adopt_lock);上面这句是为了解开std::lock的锁。参数std::adopt_lock的作用:告诉lock_guard,d1.m已经被上锁了,你不要再去锁它了,沿用它原来的锁就好。案例:#include <list>#in

2021-03-02 13:29:24 818

原创 std::this_thread::sleep_for与std::this_thread::yield区别

std::this_thread::sleep_for和sleep这哥俩没啥太大区别都是表示当前线程休眠一段时间,休眠期间不与其他线程竞争CPU,根据函数参数,等待相应时间时间。只是一个是C的函数一个是c++的函数分别对应头文件 <unistd.h> 和 < thread >std::this_thread::yield当前线程放弃执行,操作系统调度另一线程继续执行。即当前线程将未使用完的“CPU时间片”让给其他线程使用,等其他线程使用完后再与其他线程一起竞争"CPU"。st

2021-03-02 10:25:08 470

原创 c++11新特性学习

https://changkun.de/modern-cpp/zh-cn/01-intro/index.htmlc++11新特性:1.auto 类型自动推导 auto i=10;2.enum class …, 不可当做int类型使用,使用需要指定作用域可避免命名冲突3.nullptr ,#define NULL 0,其中,在NULL使用时存在函数调用歧义,void func1(char*);void func1(int);都可以被调用4.for(auto&:vec) 结构化绑定遍历,st

2021-03-01 17:56:13 121

原创 bind与std::ref

std::ref与bind配置使用

2021-02-26 17:49:46 106

原创 多线程学习地址

https://www.kancloud.cn/jxm_zn/cpp_concurrency_in_action/content常用框架代码:头文件:ThreadAlloc.h#pragma once#include<iostream>#include <thread>#include <atomic>#include <vector>#include <functional>namespace EPT { inline u

2021-02-24 10:31:44 92

原创 boost入门教程

https://www.cnblogs.com/lidabo/p/9294874.html

2021-02-20 13:51:10 860

原创 c++中NULL二义性问题

在编程逻辑世界,有因必有果,如果一个结果含糊不定(二义性),显然是我们不想要的。C++11中引入nullptr是为了解决NULL的二义性问题。NULL二义性的体现 void func(int) {} void func(int *) {}当函数调用func(NULL)时会是怎样执行?先看C++对NULL的定义:#if defined(__cplusplus) # define NULL 0 /* C++中使用0作为NULL的值 */#else # define NULL ((void *

2021-02-20 11:48:05 561

原创 c++中重载,重写,隐藏区别

https://www.cnblogs.com/zhangjxblog/p/8723291.html

2021-02-20 09:45:44 75

原创 C++中weak_ptr的使用

https://blog.csdn.net/fengbingchun/article/details/52203825

2021-02-19 21:54:10 129

原创 stl迭代器失效

https://www.cnblogs.com/zhanggaofeng/p/12129208.html

2021-02-19 18:38:30 53

转载 移动构造函数与右值引用用法

参考:http://c.biancheng.net/view/7847.html在 C++ 11 标准之前(C++ 98/03 标准中),如果想用其它对象初始化一个同类的新对象,只能借助类中的复制(拷贝)构造函数。其实,拷贝构造函数的实现原理很简单,就是为新对象复制一份和其它对象一模一样的数据。需要注意的是,当类中拥有指针类型的成员变量时,拷贝构造函数中需要以深拷贝(而非浅拷贝)的方式复制该指针成员。深拷贝和浅拷贝的区别,就在于深拷贝需要对指针类型的成员变量在堆上重新分配内存空间。#include &

2021-02-07 11:32:10 367

原创 VA助手快捷键说明

安装完番茄插件之后,可以使用一些默认快捷键或自己设置一些快捷键快捷键 说明Alt+G: 快速跳转,如由声明跳转到实现,由实现跳转到声明。 光标要在标识符处Alt+O: .h与.cpp文件的快速切换Alt + ←:回到上一次光标所在的地方F12:转到所调用函数或变量的定义Alt + M:列出当前文件所有的函数Alt +Shift + A: 添加现有文件Alt+Shift+F: 查找标识符所有被引用的位置 光标要在标识符处Alt+Shift+O: 查找整个Solution下的某个文件 O指op

2021-02-03 11:06:21 783

原创 c++计算程序运行时间

C++中如何记录程序运行时间一、clock()计时函数clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:clock_t clock(void) ;简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时

2021-02-01 13:39:35 12900

原创 adot_lock ,defer_lock,try_to_lock区别

待写

2021-02-01 11:41:15 187

原创 类与类之间的几种关系

类与类之间的几种关系 一、继承关系      继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子...

2021-02-01 10:29:36 544 1

原创 dll调试方法

建立一个dll工程和一个test工程1.例如,#include//导出函数或者类#define HELLO_API _declspec(dllexport)HELLO_API void print(){std::cout<<“hello”<<std::endl;}//导出hello.dlltest工程:typedef int(*fnFun)(); // 定义函数指针类型int main(){// 1. 显式链接//1.1 加载DLL// hDll :

2020-07-28 10:29:12 346

原创 git删除远程仓库文件夹

在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决首先进入项目master文件夹下, Git Bash Here ,打开命令窗口$ git pull origin master # 将远程仓库里面的项目拉下来$ dir # 查看有哪些文件夹$ git rm -r --cached target # 删除target文

2020-07-24 09:50:15 262

原创 glfw库键盘,鼠标点击和滚轮事件处理

https://blog.csdn.net/ynsenyu/article/details/39423493

2020-04-29 10:47:17 7147 4

转载 PyTorch-网络的创建,预训练模型的加载

PyTorch-网络的创建,预训练模型的加载 本文是PyTorch使用过程中的的一些总结,有以下内容:构建网络模型的方法网络层的遍历各层参数的遍历模型的保存与加载从预训练模型为网络参数赋值主要涉及到以下函数的使用add_module,ModulesList,Sequential 模型创建modules(),named_modules(),children(),na...

2020-04-01 11:49:21 205

转载 C++ replace用法

replace算法:replace函数包含于头文件#include中。 泛型算法replace把队列中与给定值相等的所有值替换为另一个值,整个队列都被扫描,即此算法的各个版本都在线性时间内执行———其复杂度为O(n)。即replace的执行要遍历由区间[frist,last)限定的整个队列,以把old_value替换成new_value。下面说下replace()的...

2020-03-30 10:31:09 3255

转载 WglCreateContext函数作用

WglCreateContextWglCreateContext函数创建一个新的OpenGL渲染描述表,此描述表必须适用于绘制到由hdc返回的设备.这个渲染描述表将有和设备上下文(dc)一样的像素格式.HGLRC wglCreateContext(HDC hdc // device context of device that the rendering context ...

2020-03-26 10:42:41 669

转载 CCPD车牌数据集介绍

...

2020-01-11 16:58:41 2762 2

原创 yolov3学习资料

地址:https://www.cnblogs.com/xieqi/p/9818056.html

2020-01-02 14:04:59 222

原创 python读写xml文件

使用方法见:https://www.cnblogs.com/Zhouzg-2018/p/9926048.htmlfrom xml.dom.minidom import Documentimport xml.etree.ElementTree as ET## def writeXml(imgPath='',save_path="/home/gui/newXml.xml"):#...

2020-01-01 16:36:10 224

原创 车牌识别资料整理

原文地址:https://www.zhihu.com/question/355669768/answer/893855833如果是做国内的车牌识别,github上有一个CCPD。这是中科大开源的一个数据集,标注比较详细不过不是按字符分割的方式做的标注(这个数据集的目标是做端到端训练,因为识别模型我考虑的就是做端到端的,所以这不是问题),优点是数据集规模很大,缺点是只有蓝牌并且主要是当地的牌照(皖...

2019-12-31 15:12:30 397

转载 python生成xml

from: http://blog.csdn.net/fhl812432059/article/details/51647529dom写xml 1.引入包import xml.dom.minidom2.writexml方法writexm...

2019-12-30 20:45:29 814

转载 YOLOV3(yolov3)训练自己的数据

前言:做目标检测,选择的算法是yolo v3,因为它既有速度又有精度,还非常灵活,简直是工业界良心。做项目免不了需要用到自己的数据集,所以得从头一个脚印的来,走通了之后决定写一个帖子,让需要用的人少走歪路,节约时间。官网上已经教我们如何跑起来yolo v3,因此大部...

2019-12-15 11:26:35 526

空空如也

空空如也

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

TA关注的人

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