自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 【C++】数据对齐以及二进制输出

数据对齐数据对齐在底层开发中,是一种非常常用的手段。目的是为了在充分利用内存的前提下,能够很方便的对内存进行管理。以配置器为例在使用stl进行编程的时候,当我们需要申请的内存足够大,空间配置器会直接为容器分配连续的足够大的内存空间。当内存比较小时,就需要使用次级空间配置器,在配置器已经维护的内存中分出一小块给客户使用。这是因为,大量使用小内存容器,会早晨内存碎片化。最终可能导致,空闲内存足够,但连续内存较小,从而导致无法给需要大内存的容器分配内存。解决方案,即,空间分配器维护一个足够大的空间。当容

2020-11-27 10:25:18 344

原创 【opencv】编译contrib遇到的坑

opencv编译很早就开始用opencv了,但是一直用的官方release版本,没有自己编译过。因为实验原因,一天之内编译了三分不同版本的opencv,把遇到的坑大致记录一下。关于contrib.hopencv3以上的版本,移除了该模块下载的实验项目代码中包含了#include <opencv2/core/internal.hpp>#include <opencv2/contrib/contrib.hpp>最初以为需要自己编译带有包含contrib模块,在经过编译了

2020-10-21 19:36:59 862

原创 【C++】Eigen优化及D8016错误

Eigen优化过程背景最近在写一个保边滤波的算法。为了加快运算速率,采用C++语言,使用Eigen库进行大矩阵运算。效率问题作为基于全局图像的算法,需要创建一个全局的矩阵(n*m在数千万到数亿的级别),但是,有效数据大约只有数十万级别,也就是说这是一个不折不扣的稀疏矩阵。因此,我们所有的矩阵运算都是基于Eigen::SparseMatrix对于矩阵的构建,常用的有以下几种方法。直接给稀疏矩阵(SparseMatrix赋值)Eigen::SparseMatrix<double>

2020-08-17 17:17:03 645

原创 【C++】浅谈代码效率优化

前言最近因为一些特殊原因,需要写几个图像处理相关的代码。计划手动实现双边滤波,目的是熟悉opencv对图像的存储方式,以及相关的库函数的使用。在不考虑效率,使用Mat提供的成员函数以及vector等容器实现功能后,100W的像素跑出了7分钟,也着实让我吓了一跳。最终,进过优化,100W像素跑到3-4秒之间。这个效率,说实话,并不是特别满意。理想状态应该秒开,毫无延迟的感觉。要达到毫无延迟,要么使用快速滤波算法,要么进一步优化代码。而我,就是想将代码写到极致。优化之前的源代码双边滤波器原理请点这里

2020-08-06 11:18:53 645

原创 【C++11】学习笔记(七)

融入实际应用对齐支持数据对齐代码看着比较清晰:#include<iostream>using namespace std;struct HowManyBytes { char a; int b;};void main() { cout << "sizeof(HowManyBytes) : " << sizeof(HowManyBytes) << endl; //8 cout << "sizeof(int) : " &l

2020-07-25 16:32:28 99

原创 【C++11】学习笔记(六)

为改变思考方式而改变《C++11》第七章空指针nullptr指针空值在C++11之前,表示空指针一般使用0或者NULL。因为,擦欧总系统是不允许使用地址为0的内存空间。当函数重载了int和指针类型时,会造成错误,或者不能通过编译。void f(char* p){}void f(int){}void main(){ f(NULL); // 调用int版本 ,或者因为二义性编译失败。取决于编译器}nullptr为了解决二义性问题,C++11提出nullptr表示空指针。

2020-07-25 16:29:08 84

原创 【MSSQL】通过注册表修改登录模式

修改登录模式因为项目需要,装了MSSQL。因为之前一直使用mysql,装有navicat,所以实在不想多装SSMS。但是,MSSQL初始情况下,是不允许账号验证的,只能用过windows验证。但是,网上所有修改验证模式都需要通过SSMS。最后,终于找到办法,通过修改注册表达到目的。打开注册表(win+R,输入regedit)寻找路径:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer添加/修改 LoginMode

2020-07-22 17:41:07 569

原创 【PHP】php操作MSSQL

配置PHP操作MSSQL驱动在指定目录安装PHP链接MSSQL驱动SQLSRV58.exe新建一个文件夹,将驱动安装在该目录下,方便后边找。也可以去微软官网找最新版驱动复制对应版本的DLL至PHP,ext目录下在步骤1安装驱动的目录下,选择对应版本的dll。在PHP安装目录下找ext文件夹,并将对应版本的dll复制到改文件夹下:以phpstudy的php为例:…/phpstudy_pro/Extensions/php/php7.3.4nts/ext/讲下列两个DLL 复制到上述目录

2020-07-22 17:38:28 161

原创 【C++11】学习笔记(四)

提高类型安全《C++11》第五章强类型枚举枚举定义一个类别,并穷举同一类别下的个题以供代码中使用。等价操作有三种:宏定义#define Male 0#define Female 0枚举enum {Male,Female};静态常量const static int Male = 0;const static int Female = 0;枚举的缺陷枚举类型的成员名字均是全局的。当两个枚举中含有相同的名字,不能通过编译。破坏namespace的封闭

2020-07-08 20:27:40 111

原创 【C++11】学习笔记(五)

提高性能及操作硬件的能力《C++11》第六章————并行编程常量表达式编译时常量和运行时常量const int i = 0; //运行时常量#define i 1 //编译时常量总结:const关键字保证了数据不被修改,但是不能保证关键字是编译时常量。因此,在很多需要编译常量的地方会编译不通过。#define 能够保证变量为编译常量,但是,这种操作局限性较大。常量表达式函数在函数返回值前加constexpr关键字,使其成为常量表达式函数。常量表达式函数规定:函数

2020-07-08 20:26:17 119

原创 【C++11】学习笔记(三)

新手易学,老兵易用《C++11》第四章。。假期了,可以不务正业安心看书了!!右尖括号>的改进c++98:如果有两个 >> 时,如果不表示右移操作,需要中间添加空格。C++11:对>> 优化,不需要添加空格,但是与C++98不兼容优化的同时,也带来了一点问题:template <int i> class x{}template <class T> class y{}y<x<1> > x1; //编译成功y

2020-07-03 15:01:12 88

原创 【C++11】学习笔记(二)

通用为本《C++11》第三章。(杂事太多,看的好慢。。)继承构造函数using关键字的使用通过using关键字,使用基类函数。这个之前没有用过。。于是,写了代码亲测一下效果。#include<iostream>using namespace std;struct Base { void fun(double i) { cout << "Base : " << i << endl; }};struct Deriver : Base{

2020-06-29 22:48:55 229

原创 【C++11】学习笔记(一)

本着,理论和实践不一致的情况,我决定将《深入理解C++11:C++11新特性解析与应用》中提到的特性均使用VS2019进行测试,并进行相应的扩展。CSDN是不是不支持jpg的base64。有张jpg的图没有显示出来。C++代码也没有高亮。大家可以戳我自己网站。稳定性和兼容性(一)这部分我只是作为了解来看,不重点分析和研究。大概记一记,知道有这么会事就行了。毕竟我自己压根没有学过C,直接入手C++。与C99兼容预定义宏使用VS2019测试上述宏定义,除了__STDC_HOSTED__,其余均未定

2020-05-25 22:20:42 255

原创 爬虫之scrapy(二)

爬虫之scrapy(二)在运行scrapy之前,需要了解的先行知识戳这里本文不讲解scrapy框架的工作原理,以及相关的理论知识。我们以实用为目的,保证看完就能用。那么,我们开始吧。创建项目cd到指定的路径下,使用以下命令创建项目scrapy startproject mySpider创建之后会生成以下项目文件。主要文件介绍:scrapy.cfg :项目的配置文件mySpider/ :项目的Python模块,将会从这里引用代码mySpider/items.py :项目的目

2020-05-22 15:45:51 160 1

原创 爬虫之scrapy(一)

爬虫之scrapy之准备工作(一)准备知识爬虫打之可归类为三个步骤:获取网页数据,这其中包括(html、text、json等)分析获得的网页数据,提取对自己有用的信息保存爬取到的数据获取网页数据静态网页我们直接通过发送request,直接获取页面的html代码,然后分析即可。动态页面抓取动态页面的数据比较繁琐。以下列举几个常用的手段:获取页面源代码,然后分析js代码。例如,数据是通过ajax方式从后台拿去数据(json)。我们同过分析js拿到从后头获取数据的接口,然

2020-05-18 17:40:59 110

原创 【DirectX12】初始化流程

【DirectX12】初始化流程参考资料:https://blog.csdn.net/u014038143/article/details/82730776一、创建窗口创建一个窗口,用于显示DirectX3D渲染的图形。详情戳链接二、创建DXGI FactoryFactory对计算机显卡封装的最上层的接口。我们可以用该对象遍历所有计算机的显卡,然后选择适合自己的显卡作为渲染设备。G...

2020-03-31 18:53:19 674

deep learning.zip

Ian Goodfellow、Yoshua Bengio 和 Aaron Courville

2021-01-30

空空如也

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

TA关注的人

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