自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沈春旭的博客

优秀是一种习惯

  • 博客(42)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 小波的秘密2_MATLAB图像多尺度分析

1.MATLAB程序编写步骤1.把小波w(t)和原函数f(t)的开始部分进行比较,计算系数C。系数C表示该部分函数与小波的相似程度。2.把小波向右移k单位,得到小波w(t-k),重复1。重复该部知道函数f结束.3.扩展小波w(t),得到小波w(t/2),重复步骤1,2.4.不断扩展小波,重复1,2,3.这里使用的haar小波,缩放函数是[1 1],小波函数是[1 -1],是最简单的小波了。2.MA...

2016-10-30 22:48:14 7262 6

原创 小波的秘密1_小波变换概况与综述

1.有了Fourier,为什么还需要Wavelet?先来揭揭短:(1)Fourier分析不能刻画时间域上信号的局部特性。(2)Fourier分析对突变和非平稳信号的效果不好,没有时频分析。傅立叶变换将函数投影到正弦波上,将函数分解成了不同频率的正弦波,这不能不说是一个伟大的发现,但是在大量的应用中,傅立叶变换的局限性却日趋明显,事实上在光滑平稳信号的表示中,

2016-10-30 21:01:00 5466

原创 CSerialPort多线程串口编程工具详解

1.前言既然有了MSComm这种简单粗暴的控件,为什么还需要CSerialPort类?这是因为与前者相比,这个类在程序的发布上不需要加入其他的文件,而且CSerialPort提供给我们的函数都是开放透明的,允许我们进行二次改造。CSerialPort类是一个非常好用的多线程串口编程工具,可以在很短的时间就可以完成一个串口通讯框架的搭建,所以有必要加以记载!2.CSerial

2016-10-30 19:31:42 5461 1

原创 Matlab生成各种伪随机信号_idinput指令

1.为何不是冲激信号?只要是在信号系统这条道上混过的童鞋都知道,冲激信号是测试系统的最理想信号。因为时域的卷积相当于频域的乘积,而冲击信号的频域拥有最广泛的频谱,可以“暴露”系统最完整的信息,那么问题来了?这么好的东西,你咋就不用呢?傻~还真不是这样,能让我们计算机产生一个理想的冲激信号那是多难的事啊!!!想象狄拉克,就被难为人了......那咱办呢?这时候一大群数学家来了....

2016-10-29 23:32:30 48185 10

原创 离散余弦变换_原理及应用

1.预备知识1.1可分离变换二维傅立叶变换可用通用的关系式来表示:式中:x, u=0, 1, 2,  …,  M-1;y,  v=0,  1,  2,  …,  N-1;g(x,y,u,v)和h(x,y,u,v)分别称为正向变换核和反向变换核。 如果满足 :则称正、反变换核是可分离的。进一步,如果g1和g2,h1和h2在函数形式上一样

2016-10-29 17:54:41 75400 5

原创 深度解析K-L变换 及其 在特征识别中的应用

1.K-L变换定义、意义 K-L变换也常称为主成分变换(PCA),是一种基于图像统计特性的变换,它的协方差矩阵除对角线以外的元素都是零(所以大家也叫它最佳变换),消除了数据之间的相关性,从而在信息压缩方面起着重要作用。在模式识别和图像处理中一个主要的问题就是降维,在实际的模式识别问题中,我们选择的特征经常彼此相关,在识别这些特征时,数量很多,大部分都是无用的。如果我们能

2016-10-28 15:56:32 26964 3

原创 我所理解的协方差矩阵

1.前言看论文的时候又看到了协方差矩阵这个破东西,以前看图像处理的书籍的时候就特困扰,没想到现在还是搞不清楚,索性开始查协方差矩阵的资料,恶补之后决定马上记录下来。2.拼出身—统计学的定义学过概率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。首先我们给你一个含有n个样本的集合X={X1,…,Xn},依次给出这些概念的公式描述,这些高中学过数学的

2016-10-28 14:37:44 41060 22

原创 我也聊聊串口通信协议:数据包校验与常用校验算法

本篇博客主要记载了我对数据校验过程以及奇偶校验的理解。1.数据校验过程由于数据传输距离的因素影响,计算机和受控设备间的通信数据就常常出现不可预知的错误。为了防止这些错误所带来的影响,一般在通信时采取数据校验方法,而奇偶校验和循环冗余码校验就是其中最常用的校验算法。串行数据在传输过程中,由于干扰可能引起信息的错误,出现“误码”。我们把如何发现传输中的错误,叫“检码”;发现错误后,如何

2016-10-27 12:45:45 35036 1

转载 ImageNet和CNN可以帮助医学图像的识别吗?

1.从ImageNet和CNN说起图像的分类和识别一直是计算机视觉的热门研究领域,在医学图像领域,很多方法也都是从计算机视觉领域借鉴过来的,而计算机视觉的许多方法又离不开机器学习和人工智能的基础。在典型的图像分类和识别问题中,通常有两个重要的步骤,一个是特征提取,常见的有GLCM, HOG, LBP, Haar Wavelet, 一个是分类器, 例如SVM, Random Fo

2016-10-27 00:05:11 3007

原创 我也聊聊串口通信协议:用户层通信协议的编制

1.闲话闲聊最重要的写在前面:用户层通信协议就是数据包格式!!!没有进行串口通讯实践的朋友可能会想:为什么要编制用户通信协议呢?通信过程中为什么要进行数据处理呢?在设计中编过串口通信程序的读者应该张口就可以回答:为了按规定格式从串口发送数据,也为了从接收到的数据中将需要的信息提取出来。串口通信协议一般可以从两个角度来思考:底层通信协议和用户层协议。底层协议一般有计算机硬件提供商

2016-10-26 23:19:57 13828 4

原创 Visual Studio集成Qt环境搭建_详解与测试

1.利器≠戾气接了两个项目,而这两个项目说起来也很有意思。一个是监护仪软件开发,要求利用MFC进行开发,因为在此之前接近两年时间一直进行MFC开发;来到清华后,碰到了好多的计算机编程大牛,就GUI界面而言,他们更推荐QT这个利器!在写MFC代码期间,也一点点再利用QtCreator进行入门开发,戾气由此而来......实验室老板交代个任务,要求开发VR(Virtual Re

2016-10-26 20:12:35 3411

原创 双目立体视觉的数学原理

1.前言戏说双目立体视觉是基于视差原理,由多幅图像获取物体三维几何信息的方法。在机器视觉系统中,双目视觉一般由双摄像机从不同角度同时获取周围景物的两幅数字图像,或有由单摄像机在不同时刻从不同角度获取周围景物的两幅数字图像,并基于视差原理即可恢复出物体三维几何信息,重建周围景物的三维形状与位置。双目视觉有的时候我们也会把它称为体视,是人类利用双眼获取环境三维信息的主要途径。从目前来看,随

2016-10-25 21:58:24 79446 19

原创 我所构建的单线即时聊天工具

1.背景原意是在开发多串口通信助手。无意之间产生个鬼点子,利用串口功能开发一个无需网络的即时聊天工具。实现方法很简单,但是一些好处让我青睐,最关键的一点是隐蔽性好,不用网络,更不担心产生记录。至于为何要在实验室用这个小东西,你懂得!!!2.一步一步实现1.布置窗口基本结构2.头文件中定义变量、消息函数class CMSCommMultiPortDlg : p

2016-10-24 21:57:18 1000

原创 结构张量用于区分平坦、边缘、角点区域

1.结构张量原理此处所说的张量不是相对论或黎曼几何里的张量,黎曼几何的张量好多论文都叫张量场了。也不是数学界还没研究明白的对矩阵进行扩展的高阶张量,主要是张量分解。这里的结构张量就是一个矩阵,一个对图像像素进行组织的数据结构而已。像素组织而成的矩阵如下:这个公式太常见了,在harris角点检测中就用到了。其中Ix,Iy就是原对原图像在x和y方向求得的偏导。然后求矩阵E的

2016-10-24 11:27:44 5503 4

原创 计算机科学最重要的32个算法

1.故事来源:奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。2.具体算法成员A* 搜索算法—

2016-10-24 11:03:32 1549

原创 MSComm控件的几个疑难问题汇总

1.VARIANT和SAFEARRAY数据类型是什么鬼?我们在使用MSComm控件时,在发送与接收数据时都要用到VARIANT数据类型。此外,SAFEARRAY (COLeSafeArray)数据变量也可以用于处理接收到的数据。VARIANT、_variant_t、COleVariant数据类型VARIANT及由之而派生的COleVariant类主要用于在OLE自动化中传递数据

2016-10-23 10:49:49 3864 1

原创 各向异性扩散滤波_原理与算法

1.原理简述各向异性扩散滤波主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的,和双边滤波很像。通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的。这次新鲜,将图像看作热量场了。每个像素看作热流,根据当前像素和周围像素的关系,来确定是否要向周围扩散。比如某个邻域像素和当前像素差别较大,则代表这个邻域像素很可能是个边界,那么当前

2016-10-23 00:00:54 23980 9

原创 我所理解的快速傅里叶变换(FFT)

1.历史放在最前头首先FFT是离散傅立叶变换(DFT)的快速算法,那么说到FFT,我们自然要先讲清楚傅立叶变换。先来看看傅立叶变换是从哪里来的?傅立叶是一位法国数学家和物理学家的名字,英语原名是Jean Baptiste Joseph Fourier(1768-1830), Fourier对热传递很感兴趣,于1807年在法国科学学会上发表了一篇论文,运用正弦曲线来描述温

2016-10-22 18:01:58 175209 13

原创 摄像机投射投影模型_综述及详解

1.写在前面的话摄像机通过成像透镜将三维场景投影到摄像机二维像平面上,这个投影可以用成像变换进行表示,也就是我们平常说的摄像机投影模型。摄像机成像模型有不同的描述方式。这里仅仅总结了机器视觉中常用的坐标系,然后主要分析了摄像机的线性模型和非线性模型。2.坐标系描述:图像坐标系、摄像机坐标系、世界坐标系摄像机采集的图像以标准的电视信号的形式经高速图像采集系统变换为数字

2016-10-22 11:15:35 18203 1

原创 MSComm的属性介绍及其内部处理机制

1.CSerialPort类和MSComm该怎么选择这里首先要澄清一个疑问:为什么已经有了CSerialPort类,我们还要去研究MSComm控件?这是因为CSerialPort类有局限(非MODEM应用),要对MODEM进行控制,还需要对类进行改写。而MSComm控件是微软提供的,功能相对来说更完善,而且还可以对中文进行处理,所以熟悉MSComm是非常必要滴!2.MSComm控件

2016-10-21 21:57:42 9062

原创 简单的串口助手程序开发

1.简介之前在烽火集团实习的时候,开发串口通信程序用的都是纯C++。感觉串口程序开发很考验人的逻辑思考能力。不过,现在好了,科研工作中,一切已存在的“利器”都可以用来为自己的“idea”服务。在串口程序开发过程中,有两个很得力的助手——“CserialPort”和“MSCommon”。这里,仅尝试了利用MSCommon空间进行最基本的串口助手开发,也是受益匪浅。2.一步一步开发

2016-10-20 23:04:38 8572 2

原创 VS2015中配置MSComm通讯控件和注意事项

1.MSCommon通讯控件前文回顾MSComm 作为一个串行通讯控件。在为程序员串口通讯编程节省了很多时间,基于对话框的应用中加入一个MSComm控件非常简单。MSComm控件提供了两种处理通信的方法:事件驱动事件驱动通信,是一种功能很强的处理串口活动的方法。例如,当在CD(Carrier Detect)线或RTS(Request To Send)线上有字符到达或发生

2016-10-20 17:05:49 16044 14

原创 我所理解的离散傅里叶变换_DFT

1.闲话放在前面扯什么是频域?从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。这种以时间作为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为,世间万物都在随着时间不停的改变,并且永远不会静止下来。但如果我告诉你,用另一种方法来观察世界的话,你会发现世界是永恒不变的,你会不会觉得我疯了?我没有疯,这个静止的世界就叫做频域。

2016-10-19 20:59:05 43601 2

原创 深入理解文档/视图框架体系_九宫格项目开发感悟

1.项目起源以及采用文档/视图框架体系缘由我们整天都在说:文档保存项目的数据并处理项目上的数据;视图通过关联获得文档的数据并进行可视化;主窗口框架接收外部事件消息并进行消息分配。这句口头禅感觉接触过MFC的新手都能背得一字不差,然而,这到底讲了一件啥事?我想用成语的语言进行变相的概括一下:数据变量定义在文档类并进行保护,公用成员函数也被定义在文档类,公用函数是文档类与视图类沟通的唯一桥

2016-10-19 18:53:03 1458 3

原创 MFC文档/视图结构体系及SDI回顾(2)

1.牢骚发在最前面三件事情杂糅到了一起弄得我彻夜未眠。香港大学的Offer不小心丢在了垃圾邮箱里,却阴差阳错的来了清华。平台是一方面,当时谈好的港府奖学金也就此泡汤,这笔钱是我急需的。惊闻噩耗,苏畅老师逝世,年仅33岁,不知道是生命奉献了科研还是科研磨灭掉了生命。张礼,读懂你,很难!2.文档视图体系结构中的命令传送文档/视图体系结构中最引人注

2016-10-18 17:34:32 682

原创 MFC文档/视图结构体系及SDI回顾(1)

1.文档/视图历史小传在MFC早期,应用程序的体系结构是相当的粗浅。在早期的MFC1.0版本,应用程序具有两个主要的控件:代表应用程序自身的应用程序对象和代表应用程序窗口的窗口对象。应用程序对象的主要任务在于创建窗口,反过来窗口再处理消息。通过引入文档视图体系结构,可以这样讲,MFC2.0基本上变革了windows应用程序编制的方式。在文档视图应用程序中,应用程序的数据由文档对象代

2016-10-17 21:29:10 3626

原创 View视图类与Dialog对话框通信实例

1.实例任务探究视图与对话框的数据交流关系。具体功能如下图所示:具体研究的问题包括:1.如何建立菜单菜单栏子项与子对话框的关联2.如何建立视图类中数据(计算、绘图等)与子对话框数据的交流2.逐步实现建立MFC应用项目(单文档结构非文档视图):单独建立视图类(ChildView)中的数据应用:CChilView.h文件中定义数据变量:

2016-10-16 14:35:07 4583 1

原创 D8016“/ZI”和“/Gy-”命令行选项不兼容问题的解决

1.问题描述:VS2015调试中出现了下面的问题:2.解决办法:需要手动改变/ZI命令行选项 或者 /Gy命令行选项。进入“项目”—>“属性”—>“C/C++”方法一:->“常规”->“调试信息格式”->选择“程序数据库(/Zi)”或“无”方法二:->“代码生成”->

2016-10-14 15:49:22 44032 21

原创 戏说 Windows GDI (3)

继续讨论之前的问题,包括GDI对象的删除问题,窗口注册与销毁问题,最后用标尺的小例子说明问题1.GDI对象的删除由CGDIObject派生类创建的画笔、画刷和其他对象都要占用内存资源,因此在使用完毕之后我们必须要删除他们。当然,如果我们在栈上创建CPen、CBrush、CFont或其他CGDIObject,那么在CGDIObject超出范围时,相关的GDI对象就会自动地删除。如果用

2016-10-14 15:39:43 449

原创 戏说 Windows GDI (2)

1. GDI画笔和CPen类Windows用当前选入设备描述表的画笔绘制直线和曲线,并给用Rectangle、Ellipse以及其他图像生成函数画出的图形镶嵌边框。在系统默认的情况下,画笔是指一个像素点宽的黑色实线。如果要改变画线方式,则需要创建一个GDI画笔,并由CDC::SelectObject将他选入设备描述表。MFC用类CPen表示GDI画笔。创建画笔的最简单的方法是构建一

2016-10-12 21:08:45 958

原创 戏说 Windows GDI (1)

0.题记:作为QT开发的支持者和践行者,明知道MFC已经过时,但是还不得不用;老板要求,项目组师兄弟代码兼容Balabala~也许这就是中国式项目研发。好啦,聊点正经事......1.设备描述表(Device Context,DC):通往各种输出设备的桥梁在单任务环境如MS-DOS中,运行中的应用程序随时可自由的想做他想做的事,无论是在屏幕上画一条线,重新编写适配器的调色板,还

2016-10-12 19:22:18 676

原创 VtkCamera使用原理及小结

观众的眼睛就好比三维渲染场景中的相机,VTK则是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如屏幕、图像等。1. Vtkcamera原理从图可以看出与相机投影相关的因素主要有:相机位置:即相机所在的位置,用方法vtkCamera::SetPosition()设置。相机焦点:用方法vtkCamera::Se

2016-10-09 18:48:53 11299 3

原创 投影仪工作原理细说

项目中用到了投影系统,本科上课、开组会的时候对投影仪相当的不爽,感觉用着很麻烦。因为要调很多参数,色彩、位置balabala的。然并卵,一旦项目中采用了投影仪方案,呵呵,冤家路窄,好吧,解说一下自己对投影仪原理的认识~投影机的成像原理    投影机是一种用来放大显示图像的投影装置。    说到投影机显示图像的原理,基本上所有类型的投影

2016-10-08 16:43:59 27944 2

原创 35天 GRE: V160+Q168+W3.5

1.前言 :我的GRE是15年11月考的,但是为什么现在想要把这个经验发出来呢,因为我周围有个别同学还在考G,让我告诉他们经验,所以我就干脆总结下来一并发在这里。我就是一个很平庸很普通的准备出国的人。我看过那些大牛,有crazyrobin啊等等verbal170的大神级总结,但是我觉得不适合我这种基础一般般对自己目标也仅仅是V160但希望短期一个月左右见效的人,所以,此文针对的是,短期30

2016-10-06 18:33:53 1785

原创 串口通信模块5:串口操作自定义类(3)

在上述代码基础之上,本页主要讨论串口数据的接受、发送以及与窗口类函数的通信。1.读取串口数据函数的实现//接收串口数据void CMySerial::ReceiveChar(CMySerial* port, COMSTAT comstat){ BOOL bRead = TRUE; BOOL bResult = TRUE; DWORD dwError = 0; DWORD

2016-10-06 11:29:22 1235

原创 静态链接中的那点事儿(2):C++二进制兼容性及跨平台初步

C++的一些语言特性使之必须由编译器和链接器共同支持才能完成工作。最主要的有两个方面,其一,C++的重复代码的消除;其二,全局构造与析构。此外,由于C++的各种特性,比如虚函数、函数重载、继承、异常等,使得C++背后的数据结构异常复杂。而且最为不幸的是,这些数据结构往往在不同的编译器和链接器之间不能相互通用,使得C++程序的二进制兼容性成为一个难题。本篇博客将结合项目经验初步讨论C++程序的二进制

2016-10-05 17:22:31 1758

原创 静态链接中的那点事儿(1)

作为一个程序员或者说C++程序开发人员,想必对ELF目标文件从整体轮廓到某些局部的细节都非常熟知。该系列帖子主要为了解决一个疑惑:当我们有多个目标文件时,如何将它们连接起来形成一个可执行文件?这个过程发生了什么?其实,读到这里,可能就了解到,这其实就是链接的核心内容:静态链接。1.应用到的两个源代码文件/* a.c */extern int shared;int main()

2016-10-05 11:07:51 894

原创 串口通信模块5:串口操作自定义类(2)

1.ProcessErrorMessage()函数的实现:ProcessErrorMessage()函数负责处理并提示错误信息,其实现过程如下:void CMySerial::ProcessErrorMessage(char* ErrorText){ char* Temp = new char[200]; LPVOID lpMsgBuf; //保存错误信息的指针 //

2016-10-03 23:47:44 1054

原创 10大申请攻略+套磁技巧助你完胜美研申请

摘要:很多美国研究生申请的小伙伴对于申请过程其实并不是很清楚,甚至对于套磁这个最重要的环节也不甚了解!今天就带着大家一起来看看美国研究生申请的10大申请攻略+套磁技巧助你完胜美研申请1、一般录取比例是怎么样的?有多少人是套磁后才被录取的?有多少是直接录取的?学校和院系不同差距很大,但是很多好学校不会少于20:1的竞争量。2、申请美

2016-10-02 21:42:04 1939

原创 美研申请,你应该知道的那些事?

准备留学美国读研的小伙伴不在少数,但是你们对于美国研究生申请流程和套路真的熟悉吗?和本科申请不同的是,美国研究生申请过程会有更多“人为因素”参与其中!例如和教授的套磁这一本科生没有的环节!一说到套磁很多申请者人为只是和教授之间的邮件联络而已,只要注意书写规范不就可以了吗?但是事实是不是这样呢?其实套磁的作用和套磁技巧远远超过申请者的想象!可见仅仅套磁这一个环节就存在很多的误解,可见研究申请

2016-10-02 21:32:38 2137

用于特征图/卷积核/响应图可视化的网络

这个是为博客‘非黑盒矣-卷积神经网络的可视化’匹配的已经训练好的网络。 通过该网络和博文中阐述的代码,从而复现实验。

2018-12-18

Python+OpenCV实现Selective Search算法

The code is a Python tutorial for Selective Search using OpenCV 3.3.

2018-10-29

softmax regression测试代码

代码实现了softmax regression。 包含训练代码,测试代码和训练数据。

2018-10-15

logistic逻辑回归配套资源

logistic逻辑回归的配套资源。 里面包括训练代码、测试代码。其中也包括了训练集、测试集。

2018-10-14

英伟达深度神经网络加速库 与 matconvnet配套使用 (v5.1)

CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案,目前支持的DL库包括Caffe,ConvNet, Torch7等。

2018-07-11

21个项目玩转深度学习

《21 个项目玩转深度学习——基于TensorFlow 的实践详解》以实践为导向,深入介绍了深度学习技术和TensorFlow 框架编程内容。 通过本书,读者可以训练自己的图像识别模型、进行目标检测和人脸识别、完成一个风格迁移应用,还可以使用神经网络生成图像和文本,进行时间序列预测、搭建机器翻译引擎,训练机器玩游戏。全书共包含21 个项目,分为深度卷积网络、RNN网络、深度强化学习三部分。读者可以在自己动手实践的过程中找到学习的乐趣,了解算法和编程框架的细节,让学习深度学习算法和TensorFlow 的过程变得轻松和高效。本书代码基于TensorFlow 1.4 及以上版本,并介绍了TensorFlow 中的一些新特性。 本书适合有一定机器学习基础的学生、研究者或从业者阅读,尤其是希望深入研究TensorFlow 和深度学习算法的数据工程师,也适合对人工智能、深度学习感兴趣的在校学生,以及希望进入大数据应用的研究者。

2018-06-15

数学之美完整版

很好的一本书 是清华师兄的大作,将通信领域和语音处理领域应用的数学深入简出的道来

2016-11-10

串口通讯代码

利用C#开发出的串口通讯代码,可以实现对下位机的控制,软件界面简介

2014-06-09

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

TA关注的人

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