自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (12)
  • 收藏
  • 关注

原创 行程编码求交集

当段1和段2有相交时,只需要取(max(x1,x'1),min(x2,x'2)))作为相交段即可。此时需要段进行移动,如果min(x2,x'2)为x2,那么index后移,否则index'进行后移。上一章提到行程编码表示的Region求差集时,可以归纳为行求差集。在求交集时,同样归纳为行求交集。本文介绍求交集的方法。求差集时情况可以概况为3中情况。指向相交段的前端,初始值为段。此时将情况转换为了情况1.

2024-06-30 11:20:34 122

原创 行程编码求差集

一个容易想到的方法是将Region转换为黑白图像,然后求两个图像位运算,在opencv中很容易实现。这种方法有一个问题,如果Region区域比较小,如果是将其转换为图像求,会产生较大的计算量。行程编码可以表示用来表示图像感兴趣区域,通过(y,x1,n)或者(y,x1,x2)方式,表示一行中连续的区域。在图像处理时Region是一个很常用的概念,在halcon中大量使用,通过将图像处理的范围限制在一个指定的区域(Region)内,容易求解问题和提高速度。指向待求的差段前端,即第一个减段的前端。

2024-06-29 17:56:29 323

原创 C++全局变量注意事项

一、不要将全局变量定义在头文件 如果将全局变量定义在头文件中,该头文件被其他文件包含会报“找到一个或多个多重定义的”错误。其他文件包含该头文件后相当于都定义了一个全局变量符号。假设有文件file1.h,file1.cpp,如下:// file1.h#pragma onceint aa = 0;class file1{public: file1(); ~file1();};// file1.cpp#include "file1.h"file1::file1()...

2021-10-26 10:29:01 1366

原创 使用模板技巧实现Variant

一、函数模板

2021-07-24 15:18:44 417

原创 placement new使用

一、new构造过程 在使用new关键词创建一个对象指针时,需要做以下工作:使用operater new分配内存; A *pa = static<A *>(operator new(sizeof(A))); 然后调用类构造函数; pa->A(); 返回内存指针。 return pa;C++提供了默认的operator new函数共用三个版本:operator new(size_t); ...

2021-07-23 17:10:48 255

原创 右值引用及其作用

什么是左值、右值?可以出现在=号左边的则为左值,否则为右值。可以出现在=左边,意味着一定能保存数据,存放在内存中,有实际的内存地址,而右值则是一个临时中间存放的数据,是存放在寄存器中的。inta = 9, b = 8;a = 8, b = 0; // a,b为左值// a + 4 = 5; // 错误 a + 4为右值,a + 4为一个临时对象// -a = 4; // 错误 -a为右值,为一个临时对象(a) = 5; ...

2021-07-20 17:54:10 15310 10

原创 std::bind使用注意事项

一、绑定对象会拷贝 使用std::bind绑定对象时,会拷贝新对象,作为内部调用成员函数的对象。那么如果类中有指针且未实现深拷贝,可能会出错。如下:class A{public: A() { pa = new int(9); } ~A() { delete pa; pa = nullptr; } int geta() { return *this->pa; }private: int *pa = nullptr;};...

2021-07-20 09:44:56 967

原创 一步步实现C++11中的std::function和std::bind(下)

一、本文目的 前面两篇分别讲了如何封装自己的function和bind,保存了函数和参数包。还有最后一点与C++11提供的明显差异是没有提供部分参数的保存功能。本文将在前篇基础上介绍如何实现部分参数的保存功能。二、部分参数保存分析 从上一篇我们知道,参数包是可以通过tuple进行保存,在回调时通过对tuple进行展开调用。std::bind可以只绑定部分参数,其他参数可以通过占位符代替,在最后回调的时候传入,替换占位符传给函数进行调用。 显然在bin...

2021-07-19 16:39:18 457 1

原创 一步步实现C++11中的std::function和std::bind(中)

目录一、本文目的二、std::bind如何绑定参数三、参数包如何保存四、tuple展开五、构造索引系列_index_seq_六、通过_index_seq_展开tuple七、binder保存参数一、本文目的 上一篇介绍了std::function和std::bind实现方式,可以保存一般函数和成员函数,但并未实现对参数包的保存。由于参数包的保存也是一个难点,所以将该内容作为一个单独的篇幅进行介绍。通过该篇可以了解参数包的实现原理,同时也能掌握C++模板的实现...

2021-07-18 21:36:29 429 1

原创 一步步实现C++11中的std::function和std::bind(上)

std::function和std::bind是C++11新增特性,可以非常方便实现函数的回调,且非常安全。对于如何使用std::function和std::bind不是本文的重点,本文目的是在于如何自己手动实现std::function和std::bind,只有自己手动实现了才会了解其中的原理,同时实现这两个函数有助于掌握C++模板使用技巧,如模板特例化、偏特例化变参模板等。

2021-07-16 18:19:40 968 2

sparseInst数据集

解压到主目录即可

2022-07-05

LL1文法实验.rar

C++实现LL1文法: 1)在def.ll1中填写文法规则; 2)在test.free中填写识别字符串(会转换为token序列); 3)会打印出FIRST、FOLLOW和预测表; 4)会检测出错位置; 5)文法不能出现左递归和二义性;

2021-02-20

C++实现词法分析.rar

用C++开发的词法分析程序

2021-02-13

使用模拟退火算法求函数的最小值

该实验使用模拟退火算法求取函数的最小值,matlab自编程实现。该实验可以观察到搜索点的过程,也可以自行修改参数。

2020-07-22

离散Hopfiled神经网络字符识别实验

该程序使用离散Hopfiled神经网络识别字符,没有调用库函数,采用Matlab自编程实现。可以增加识别字符个数,但实验结果不理想,只有两个字符时识别效果较好。

2020-07-20

自编程SOM神经网络实现聚类(Kohonen算法)

该实验使用kohonen算法对随机生成的样本位置点进行聚类,最后筛选出有效神经元为聚类中心;没有使用库函数,matlab自编程实现;

2020-07-09

RBF神经网络实现模式分类.rar

利用RBF神经网络实现对数据点的分类。采用的是广义RBF网络数据中心的监督学习算法,利用梯度下降法,自动求RBF网络的中心、扩展系数、权重。该实验动态展示了RBF分类逼近过程。你可以调节参数达到你需要的效果。

2020-06-27

各种梯度下降法实现BP神经网络.rar

采用Matlab实现梯度下降各种优化算法,进行函数逼近,优化算法包括冲量法、NAG、Aagrad、RMSProp、Adam算法。可以通过该实验进行各种算法的比较,可以自行调整参数查看实验效果。

2020-06-10

小批量梯度下降实现BP神经网络.rar

用小批量梯度下降法实现函数逼近,Matlab自编程,可以看到逼近过程和误差下降过程,可以通过修改step实现批量梯度和随机梯度下降。

2020-06-10

各种梯度下降法(SGD、Momentum、NAG、Aagrad、RMSProp、Adam)matlab实现

里面有各种梯度下降法:SGD、Momentum、NAG、Aagrad、RMSProp、Adam算法代码;

2020-06-07

Matlab自编程实现BP神经网络逼近函数

该程序用BP神经网络逼近cos(x)+sin(x)函数,用matlab实现,没有采用库函数。可以清楚看到函数逼近过程,图形会展示出来。

2020-05-26

OpenGL 中点画线

本程序是基于著名算法bresenham实现画直线,代码中有注释,很清晰。

2013-07-25

空空如也

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

TA关注的人

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