- 博客(72)
- 资源 (1)
- 收藏
- 关注
原创 c++父类和子类
父类和子类的关系子类继承父类的所有属性和行为;子类可以定义自己的属性和行为;父类和子类的继承在类中,变量有三种属性,分别为public,protectd,private;其区别如下:变量属性说明public可以被基类及其对象访问;protectedprivate父类和子类的构造和析构父类和子类的转换...
2019-05-30 21:56:15 8252
原创 驱动系列之内存
内存类型内存分为:虚拟内存,物理内存;物理内存:真实存在的内存;虚拟内存:对每个进程来说都有一个连续的内存空间,是一种缓存机制,并不是真实存在的;虚拟地址:程序中使用的地址都是虚拟地址;物理地址:总线地址线上的地址,地址线上的电信号相对应;一般在写驱动时,设备寄存器的地址均为物理地址;使用时,需将其转换为虚拟地址进行使用;内存的分配内核空间函数分配函数名释放函数说明...
2019-05-30 21:40:43 483
翻译 Tesseract OCR使用说明
1安装添加源sudo vi /etc/apt/sources.list添加deb http://archive.ubuntu.com/ubuntu bionic universe其中bionic和自己安装的系统有关,根据实际情况进行改变;安装sudo apt install tesseract-ocrsudo apt install libtesseract-dev安...
2019-05-24 11:06:54 1942
转载 OCR技术1
orc的应用现状应用场景现状印刷体识别由于字体规范,因此较为简单;在印刷过程字体可能断裂或者粘连,使识别困难手写体由于每个人的写字风格不一样,因此是一项尚未攻破的难关自然文本识别环境复杂,也是一个尚未攻破的难关OCR识别流程版面分心预处理图像分割字符识别后处理识别矫正OCR识别方法方法优缺点Tesseract对汉子识别精度不...
2019-05-06 10:48:29 206
转载 SIFT匹配
论文名称:Distinctive Image Features from Scale-Invariant Keypoints原文链接:https://www.cs.ubc.ca/~lowe/keypoints/参考链接1:https://blog.csdn.net/amiee521/article/details/70154311参考链接2:https://blog.csdn.net/wei...
2019-04-02 22:35:10 457
转载 MSER
MSER步骤改变阈值,进行极值区域的生成稳定区域的判断极值区域的生成几个变量的定义(个人理解):struct ER{ struct Hist *hist; vector<cv::Point> contours; int gray; int size;};struct Hist{ vector<cv::Point> contours; int...
2019-03-26 17:28:07 396
转载 基于candy的图像检测
基本步骤彩色图像转换为灰度图像高斯滤波,滤除噪声点计算图像梯度,根据梯度计算边缘幅值与角度非极大值抑制双阈值边缘连接处理二值化图像输出结果参考链接:https://blog.csdn.net/jia20003/article/details/41173767https://docs.opencv.org/3.4.2/da/d5c/tutorial_canny_detector.h...
2019-03-26 10:40:31 781
转载 opencv相关函数参考链接
void morphologyEx(InputArray src, OutputArray dst, int op, InputArray kernel, Point anchor=Point(-1,-1), intiterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaul...
2019-03-25 22:20:13 153
转载 各个算子的推导
图像导数的定义∂f(x,y)∂x=f(x+1,y)−f(x,y)∂f(x,y)∂y=f(x,y+1)−f(x,y)∂2f(x,y)∂2x==f′(x+1,y)−f′(x,y)=f(x+2)−f(x+1)−f(x+1)+f(x)=f(x+2)−2(x+1)+f(x)∂2f(x,y)∂2y==f′(x,y+1)−f′(x,y)=f(y+2)−f(y+1)−f(y+1)+f(y)=f(y+2)−2(y...
2019-03-25 00:07:31 1294
转载 图像二值化常用的方法
常用方法方法解释优缺点双峰法物体和背景区别较大,可以分别形成波峰,这是选择双峰之间的波谷最为阈值只能用于目标和背景的直方图没有重叠时P参数法知道目标占图像的比例,且目标偏暗,背景偏亮min(∣∑t=0Tp(t)m∗n−P∣) min(\vert\frac{\sum_{t=0}^Tp(t)}{m*n} -P\vert)min(∣m∗n∑t=0Tp(t)−P∣)...
2019-03-24 13:59:08 5186
原创 数据增强
噪声产生原因使用滤波高斯噪声光照高斯滤波椒盐噪声电路噪声、编码器噪声中值滤波:可以用中心值取代黑点或白点均值滤波:用作模糊滤波核说明作用高斯滤波滤波核符合高斯分布,离中心点越近去除高斯噪声均值滤波模糊双边滤波一个与空间距离的高斯函数与一个与灰度距离的相关的高斯函数相乘距离越近,权重越大;灰度差越小,权重...
2019-03-21 22:29:30 423
转载 自然文本识别
自然文本的特征自然特征简要说明文字颜色特定区域的文本行具有统一的颜色,但也有一些颜色渐变的情况,同事场景中存在很多与文字颜色相同的区域文字字体场景中的文字字体在局部区域是一致的,但有时也会选各种各样的字体文字亮度为了方便阅读,场景文字与背景区域一般存在较强的对比度纹理轮廓文字区域存在较多的笔画,有较多的纹理信息和强烈的边缘轮廓几何特征文字的大...
2019-03-21 15:44:49 681
翻译 opengl相关函数
void glGenBuffers( GLsizei n, GLuint * buffers)产生buffers名称变量意义n生成buffers的个数buffers生成n个buffers的namevoid glBindBuffer( GLenum target, GLuint buffer)设定buffer的类别变量意义tar...
2019-03-15 00:44:00 205
转载 opengl的glut
函数说明函数名说明void glutInit(int* argc,char** argv)初始化GLUT库void glutInitWindowSize(int width,int height)void glutInitWindowPosition(int x,int y)void glutInitDisplayMode(unsigned int m...
2019-03-12 16:16:43 216
转载 opencv链接库
错误错误提示undefined reference to `cv::imshow(cv::String const&amp;, cv::_InputArray const&amp;)'系统:ubuntu 18.04解决方法:编译时添加:pkg-config opencv --cflags --libs参考链接:https://www.cnblogs.com/wmr95/p/81934...
2019-03-11 11:55:43 909
原创 cuda相关函数
内存相关函数形参返回值意义__host__ __device__ cudaError_t cudaMalloc ( void** devPtr, size_t size )devPtr:指向分配内存size:需要分配的大小cudaSuccess = 0:成功cudaErrorInvalidValue = 11:形参不对cudaErrorMemoryAllocat...
2019-03-11 00:28:51 1524
翻译 nvcc编译
文件后缀说明后缀名Description说明.cuCUDA source file, containing host code and device functionscuda源文件.cC source filec源文件.cc, .cxx, .cppC++ source fileC++源文件.ptxPTX intermediate assem...
2019-03-10 23:30:26 1942
原创 protbuf版本问题
错误提示I0307 11:46:13.909721 30298 layer_factory.hpp:77] Creating layer data[libprotobuf FATAL google/protobuf/stubs/common.cc:67] This program requires version 3.6.0 of the Protocol Buffer runtime lib...
2019-03-07 15:06:17 1161
原创 caffe的Python接口
caffe的Python接口假定caffe安装目录为caffe_root,在caffe_root/python_caffe下定义了caffe包,其中caffe包中包括以下模块,模块在__init__.py里定义。__init__.pyfrom .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolve...
2019-03-06 00:02:22 489
原创 python类中的函数和方法
函数和方法的区别class Foo(object): def func(self): pass#实例化obj = Foo()# 执行方式一:调用的func是方法,自动传入selfobj.func() #func 方法# 执行方式二:调用的func是函数Foo.func(1) # 函数类的方法的绑定def f(self): print()#对...
2019-03-05 22:46:41 1083
翻译 boost.python将C++转化为Python接口
将C++的类转换为python成员函数构造函数成员变量类的属性继承虚函数纯虚函数操作符特殊函数
2019-03-05 15:32:52 741
原创 基类和子类的类型转换
基类和子类的关系子类对象函数基类对象的一部分,因此子类可以向基类转换,但是基类不能向子类转换(特殊情况除外)。基类向子类转换基类对子类转换只存在于指针和引用之间基类对子类转换不存在于对象之间当初始化或者赋值某个对象时,初始化调用构造函数,而赋值会调用赋值运算符,这些成员通常包括一个参数,该参数是类类型的const版本的引用。子类向基类转换1.如果基类存在一个或者是多个虚函数,可以使用...
2019-03-05 14:12:09 2041
转载 spyder和jupyter notebook启动不小
问题描述之前从anconda-navigator启动spyder和jupyter notebook正常,安装caffe后出现如下错误Traceback (most recent call last): File "/usr/local/bin/jupyter-notebook", line 7, in <module> from notebook.notebookapp...
2019-03-04 11:49:05 383
翻译 RNN循环神经网络
解决问题1.变长输入2.输入之间有一定关系的输入和输出之间的关系:1对多:图像的文本描述多对1:文字的情感分析多对多:句子的翻译网络结构Elman Networdht=σ(Whxt+Uhht−1+bh)yt=σ(Wyht+by)\begin{aligned}h_t &amp;= \sigma(W_hx_t + U_hh_{t-1} +b_h)\\y_t &a...
2019-03-03 00:00:21 253
翻译 残差网络resnet
残差网络论文链接:https://arxiv.org/pdf/1512.03385.pdf产生背景:随着网络深度的增加,导致了训练误差的增大;究其原因是,网络没有被很好的优化。残差网络可以很深的原因:在一定程度上解决了梯度消失。残差单元如下图:当维度x=F当维度x=F当维度x=Fy=F(x,{Wi})+xF=W2σ(W1x)\begin{aligned}y &amp;= ...
2019-02-28 12:35:13 869
原创 bottom_need_backward_和layer_need_backward_和blob_need_backward_
从前往后bottom_need_backward_ = layer_param.propagate_down(bottom_id)layer_need_backward_ = blob_need_backward_[blob_id]blob_need_backward_[top_id_vecs_[layer_id][top_id]] = layer_need_backward_1.只要...
2019-02-27 17:07:01 124
原创 AppendParam()
源码template <typename Dtype>void Net<Dtype>::AppendParam(const NetParameter& param, const int layer_id, const int param_id) { const LayerParameter& ...
2019-02-27 15:25:07 955
原创 AppendTop()和AppendBottom()
源码// Helper for Net::Init: add a new top blob to the net.template &lt;typename Dtype&gt;void Net&lt;Dtype&gt;::AppendTop(const NetParameter&amp; param, const int layer_id, ...
2019-02-27 11:31:20 370
原创 InsertSplits
void InsertSplits(const NetParameter&amp; param, NetParameter* param_split)Created with Raphaël 2.2.0开始我的操作确认?结束yesnotop:datatop:labelbottom:datatop: ip1bottom:datatop: ip2bottom:ip1bottom:ip2bottom...
2019-02-26 22:41:39 303
原创 BP神经网络推导
示意图符号说明y0:输入,y∈Rs0×1zl:第l层输出z(l)∈Rsl×1yl:第l层输出y(l)∈Rsl×1σ:激活函数sl:表示l层y(l)z(l)的向量维数t:表示真实值L:一共L层\begin{aligned}\boldsymbol{y}^{0}: &amp;amp;amp;amp;amp;amp; 输入,\boldsymbol{y}\in \mathbb{R}^{s0\times1} \\\boldsym...
2019-02-20 01:31:55 436
转载 caffe.proto
syntax = "proto2";package caffe;// Specifies the shape (dimensions) of a Blob.message BlobShape { repeated int64 dim = 1 [packed = true];}message BlobProto { optional BlobShape shape = 7;...
2019-02-18 14:32:58 232
转载 boost::function
boost::function用途boost::function和函数指针的区别:特点boost::function函数指针相似点可以指向函数成员函数可以指向函数成员函数不同点可以指向函数对象-个人理解boost::function是函数或函数对象的类型typedef boost::function<void()> Func;//特定返回...
2019-02-18 14:10:22 135
转载 boost::ref
参考链接:https://www.boost.org/doc/libs/1_66_0/libs/core/doc/html/core/ref.html用法主要用于函数对象用作参数时会出现:拷贝代价过高(具有复杂的内部状态)不希望拷贝对象(内部状态不应该改变)禁止进行对象拷贝(noncopyable、单件)这是需要用其引用。namespace boost { template&...
2019-01-30 16:02:02 246
原创 boost::thread_specific_ptr
作用通过boost::thread_specific_ptr实现对线程对不可重用函数的可重用可重用函数:可在人任意时刻被打断,重新运行时结果不发生改变,即:没有全局变量和静态变量,或者是对全局变量和静态变量做了写保护。thread_specific_ptr代表了一个全局的变量,而在每个线程中都各自new一个线程本地的对象交给它进行管理。例子#include <boost/threa...
2019-01-25 16:51:27 746
转载 which,whereis,locate,find
命令查找范围which系统PATH下的可执行文件whereis通过文件索引数据库查找二进制(命令)、源文件、man文件locate通过文件索引数据库查找任意类型文件find通过搜索硬盘的方式查找任意类型文件参考链接 https://blog.csdn.net/l1902090/article/details/24887997...
2019-01-25 16:30:52 87
原创 初始化方式
初始化方式直接初始化:如果不使用"=",则执行的是直接初始化拷贝初始化:如果执行“=”,则执行的是拷贝初始化;explicit构造函数只能用于直接初始化;...
2019-01-25 10:35:12 194
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人