登录
首页 » Others » 均值、中值滤波C代码

均值、中值滤波C代码

于 2020-11-30 发布
0 354
下载积分: 1 下载次数: 1

代码说明:

图像去噪,里面包括了中值滤波、均值滤波、混合滤波等代码,还考虑到硬件便于实现,进行了字节对齐,效果不错的

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • c++prime plus 源代码
    c++prime plus 源代码这是最新的c++ prime plus 的源代码,作者是stephen prata
    2020-12-11下载
    积分:1
  • 个基于FPGA的PCI数据采集序,包括SDRAM控制,PCI9054时序控制,开发语言verilog,开发环境quartus
    一个基于FPGA的PCI数据采集程序,包括SDRAM控制,PCI9054时序控制,开发语言verilog,开发环境quartus
    2020-12-02下载
    积分:1
  • matlab扩展【PDF】
    【作  者】何强 何英 [同作者作品] 【丛 书 名】 其他 【出 版 社】 清华大学出版社 【书 号】 7900641807 【出版日期】 2002 年6月 【内容简介】本书以MATLAB扩展编程及其应用实例为主线,以MATLAB与C程序、Visual Basic、Excel、网络和系统硬件的接口为核心,采用图文并茂的方式、简捷明快的手法和通俗易懂的语言,配合大量的代码实例以及一个简单的语音识别系统的具体实现,系统介绍了MATLAB的新特性、常用的代码优化方法和功能扩展途径。全书分为3部分,共13章。第1部分(第1章—第6章):MATLAB 6的安装和运行、Matr
    2020-12-07下载
    积分:1
  • STM32无刷无感电机驱动
    基于STM32R8T6的无刷无感电机驱动,由原子的DMA的ADC基本代码修改而来,主要内容包含在control.c中,外部驱动使用的是BTS7971,使用MOS也行,ADC一直采样判断过零。有电流环控制,但是注释了,修要的把注释去掉就行。代码采用三步启动方法启动电机,有延时30电角度换向,是参考MK电调的说明文档(无刷无感直流电机攻略@timegate墨鸢)代码纯手写,可以私信问我,交流为主,但是我可能不会及时回复。
    2020-12-07下载
    积分:1
  • EM算法详细例子及推导
    EM算法详细例子及推导数θ),那么对于上面的实验,我们可以计算出他们出现我们观察到的结果即0=(5,9,.8,4,7,20=(B,A,A,B,4)的概率函数P(X=x10),2z)⑨)就叫做θ的似然函数。我们将它对θ求偏导并令偏导数为0,就可以得到如的结果P(X=x0,=20))=(;P(z=A)3(1-P(z=A)2C10(1-64)10A(1-6C104(1-0(1-6B)C106n(1-6我们将这个问题稍微改变一下,我们将我们所观察到的结果修改一…下我们现在只知道每次试验有几次投掷出正面,但是不知道每次试验投掷的是哪个硬币,也就是说我们只知道表中第一列和第三列。这个时候我们就称Z为隐藏变量( Hidden variable),X称为观察变量( Observed variable)。这个时候再来估计参数θ4和θB,就没有那么多数据可供使用了,这个时侯的估计叫做不完整数据的参数估计。如果我们这个时候冇某种方法(比如,正确的猜到每次投掷硬币是A还是B),这样的话我们就可以将这个不完整的数据估计变为完整数据估计当然我们如果没有方法来获得更多的数据的话,那么下面提供了一种在这种不完整数据的情况下来估计参数θ的方法。我们用迭代的方式来进行:(1)我们先赋给θ一个初始值,这个值不管是经验也好猜的也好,反正我们给它一个初始值。在实际使用中往往这个初始值是有其他算法的结果给岀的,当然随机给他分配一个符合定义域的值也可以。这里我们就给定64=0.7,6B=0.4(2)然后我们根据这个来判断或者猜测每次投掷更像是哪枚硬币投掷的结果。比如对于试验1,如果投掷的是Δ,那么出现5个止面的概率为C10×0.75×(1-07)5≈0.1029:;如果投掷的是B,出现5个正面的概率为C105×0.43×(1-0.4)5≈0.2007;基于试验1的试验结果,可以判断这个试验投掷的是使币A的概率为0.10290.10290.2007)-0.389是B的概率为02007(0.1029+0.2007)06611。因此这个结果更可能是投掷B出现的结果(3)假设上一步猜测的结果为B,A,A,B,A,那么恨据这个猜测,可以像完整数据的参数仙计一样(公式2重新计算的值这样一次一次的迭代2-3步骤直到收敛,我们就得到了θ的估计。现在你可能有疑问,这个方法靠谱么?事实证明,它确实是靠谱的。期望最大化算法就是在这个想法上改进的。它在估计每次投掷的硬币的吋候,并不要确定住这次就是硬币A或者B,它计算岀来这次投掷的硬币是A的概率和是B的概率;然后在用这个概率(或者叫做Z的分布)来计算似然函数。期望最大化算法步骤总结如下:F步骤先利用旧的参数值〃计算隐藏变量Z的(条件)分布P(万=2|Xn2),然后计算logP(,X=m)的期望B(o(2,X=x)=∑∑P(Z=别X=)P(Z=X=x)其中θ是当前的值,而θ是上一次迭代得到的值。公式中已经只剩下θ一个变量了,θ是一个确定的值,这个公式或者函数常常叫做Q函数,用Q(6,6)来表示。M步骤极大化Q,往往这一步是求导,得到由旧的θ值′米计算新的θ值的公式aQ总结一下,期望最大化算法就是先根据参数初值估计隐藏变量的分布,然后根据隐藏变量的分布来计算观察变量的似然函数,估计参数的值。前者通常称为E步骤,后者称为M步骤3数学基础首先来明确一下我们的目标:我们的目标是在观察变量X和给定观察样本:1,x2,…,rn的情況下,极大化对数似然函数(=>nP(X2=x;)(5)其中只包含观察变量的概率密度函数P(X2=2)=∑P(X=n,=)这里因为参数θ的写法与条件概率的写法相同,因此将参数θ写到下标以更明确的表述其中Z为隐藏随机变量,{}是Z的所有可能的取值。那么6)=∑h∑P(X=x,z=2)∑h∑。Px=x这里我们引入了一组参数(不要怕多,我们后面会处理掉它的)a,它满足可能的;,0;∈(0,1和∑;a=1到这里,先介绍一个凸函数的性质,或者叫做凸函数的定义。∫(x)为凸函数,=1,2,…,m,A∈[0,1∑1A对∫(x)定义域中的任意n个m1,x2,…,xn有f(∑Aa)≤∑mf(xr)i=1对于严格凸函数,上面的等号只有在x1=2xn的时候成立。关于凸函数的其他性质不再赘述。对数函数是一个严格凸数。因而我们可以有下面这个结果0)=∑hn∑≥∑∑ah(X=2n,2=C现在我们根据等号成立的条件来确定a;即P(X=x,Z=2)C(10)其中c是一个与j无关的常数。因为∑,=1,稍作变换就可以得到P(X;=x;)现在来解释下我们得到了什么。c;就是Z=2;在X=x;下的条件概率戌者后验概率。求α就是求隐藏随机变量Z的条件分布。总结一下目前得到的公式就是)-∑∑P(Xi=i,Z(12)直接就极大值比较难求,EM算法就是按照下面这个过程来的。它就是大名鼎鼎的琴生( Jensen)不等式(1)根据上一步的θ来计算α,即隐藏变量的条件分布(2)极大化似然函数来得到当前的的估计3.1极大似然估计好吧,我觉得还是再说说极大似然估计吧。给定一个概率分布D,假设其概率密度函数为f,其中f带有一组参数6。为了估计这组参数6,我们可以从这个分布中抽出一个具有n个采样值的X1,X2,…,Yn,那么这个就是n个(假设独立)同分布随机变量,他们分别有取值x1,x2…,xn,那么我们就可以计算出出现这样一组观察值的概率密度为lI f(ai)(13)对于f是离散的情况,就计算出现这组观察值的概率10)注意,这个函数中是含有参数0的。0的极大似然估计就是求让上面似然函数取极大值的时候的参数O值。般来说,会将上面那个似然函数取自然对数,这样往往可以简化计算。记住,这样仅仅是为了简化计算。取了自然对数之后的函数叫做对数似然函数。ln()=∑lnf(n)因为对数是一个严格单调递增的凹函数,所以对似然函数取极人值与对对数似然函数取极大值是等价的。3取了对数之后还可以跟信息熵等概念联系起来4关于凸函数有很多种说法,上凸函数和下凸函数,凸函数和凹函数等等,这里指的是二阶导数大」(等」)0的一类函数,而凹函数是其相反数为凸数的一类函数32期望最大化算法收敛性如何保证算法收敛呢?我们只用证明l(04+1)≥1(00)就可以了l(0(t11)∑∑(+1)1PX=x;2=2)(+(t+1∑∑nf(X=x;,z=z;)(+1)(t)o(tn /(r=i,Z=2(t)≥∑∑ahn(t)7(0其中第一个人于等于号是因为只有当a取值合适(琴生不等式等号成立条件)的时候才有等号成立,第二个人于等于号正是M步骤的操作所致。这样我们就知道l(θ)是随着迭代次数的增加越来越人的,收敛条件是值不再变化或者变化幅度很小。4应用举例4.1参数估计很直接的应用就是参数估计,上面举的例子就是参数估计42聚类但是如果估计的参数可以表明类别的话,比如某个参数表示某个样本是否属于某个集合。这样的话其实聚类问题也就可以归结为参数估计问题。References[]最大似然估计[oNline].Availablehttp://zh.wikipediaorg/wiki.%E6%9c%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1[2] Ceppellini, r, Siniscalco, M.& Smith, C.A. Ann. Hum. Genet. 20, 97-115(1955)3 Hartley, H. Biometrics 14, 174-194(1958)4 Baum, L.E., Petric, T, Soulcs, G.& Weiss, N. Ann. Math. Stat 41, 164-171(1970)[ 5] Dempster, A P, Laird, N.M., Rubin, D B.(1977). "Maximum Likelihoodfrom Incomplete Data via the em algorithm. Journal of the royal statis-tical Society Series B(Methodological)39(1): 1-38. JSTOR 2984875 MR0501537[6]Whatistheexpectationmaximizationalgorithm[oNline].Avaiable:http//ai. stanford. edu/-chuongdo/papers/em tutorial pdf[7TheEmAlgorithmOnline.Availablehttp://www.cnblogs.com,jerrylead/ archive/2011/04/06/2006936html
    2020-12-07下载
    积分:1
  • 三相PWM整流器双闭环仿真(controllable_PWM_Rectifier.mdl)
    本资源是三相PWM整流器的闭环仿真,电压环电流环双闭环,带有功率因数校正,完美运行。
    2020-04-28下载
    积分:1
  • ModBus Tcp 通讯C# +Demo
    C# ModBus Tcp读写数据 与服务器进行通讯,内包含客户端和服务端源码。
    2021-05-06下载
    积分:1
  • cadence16.5 pspice教全集
    cadence16.5 pspice教程全集,很详细的pspice教程,说的很详细,通俗易懂,推荐下载。cadenceCHANNEL PARTNER、 Cadence/ OrCAD拥有一批学识渊博的技术攴持人员,他们注重与工程师在工作上密切配合,尽可能提高其软件的生产效率。5、 PSpice16.5版本具有自动收敛的功能,自动调整仿真参数帮助电路收敛。6、支持多个 slPs block,实现 Matlab与 Pspice电路仿真的无缝结合7、 PSpice是当今占主导地位的,基于 SPICE的仿真器。三、 PSpice的工作流程图绘制原理图「选择分析方或修L设置仿真参数」元改件电运行仿真数结你果是香符合Y仿真结束四、 PSpice a/D基木的分析内容在选择分析方法前需要绘制电路原理图, OrcaD统一由 Capture窗口进行输入和调用 PSpice分析。在使用时绘制原理图应该注意的地方。新建时应选择调用的器件必须有模型首先,调用软件本身提供的模型库,这些库文件存储的路径为,此路径中的所有器件都有提供模型,可以直接调用。其次,若使用自己的器件,必须保证两个文件同时存在,而且器件属性中必须包含属性。原理图中至少必须有一条网络名称为,即接地。必须有激励源原理图中的端口符号并不具有电源特性,所有的激励源都存储在和库中上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱cadenceCHANNEL PARTNER电源两端不允许短路,不允许仅由电源和电感组成回路,也不允许仅由电溟和电容组成的割集。解决方法:电容并联一个大电阻,电感串联一个小电阻6、好不要使用负值电阻、电容和电感,因为他们容易引起不收接下来具体介绍几种基本的分析方法和参数的设置。直流分析(直流分析指是使电路某个元器件参数作为自变量在一定范围内变化,对自变量的每个取值,计算电路的输出变量的自流偏特性。此过程中还可以指定一个参变量并确定取值范围,每设定一个参变量的值,均计算输出变量随自变量的变化特性。直流分析也是交流分析时确定小信号线性模型参数和瞬态分析确定初始值所需的分析。模拟计算后,可以利川功能绘出曲线,或任意输出变量相对任元件参数的传输特性曲线首先我们开启,打丌如图所示的界OrCAD CaptureFile Y1ew Tools Edit Lptions Windon Help〔 agenceSPARAMSCHEMATICI-bias量量量国量口口园国4D: FSPICE材料2011 EM\BANDPASS.IS图1-1 Capturer界面上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱cadenceCHANNEL PARTNER接下来使用菜单:启动建立一个新的工程,如图所示PCtrltsSave AsHIL FileVerilog File图新建工程界面在图对话框中输入文件名,如“”。在下面的单选按钮中选择“”,要注意这是由直接调用的按钮,不要选错哦。那么其它的选项是仆么意思呢?数模混合仿真系统级原理图设计或设计原理图设计最后在“”中指点文件存放的文件夹后,单击,出现图界面。Rev ProiectCreate a New Project UsingHelHelp⊙ Analog or Mixed A/DTip for New Users○PAnalog orMixed A /D project. Thenew project may be b alm O Piog ammable Logic wizardor copied from an existing○ SchemLuLaliuriDBrOWS图1-3建立新电路图对话框Create pspice Prone基于已有的设计创建文件○ CReate baxIsting proerOKBuck ConverterBIOCancelCreate a上 ank project厂Hahn创建空白设计图1-4创建 PSpice文件对话框上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱cadenceCHANNEL PARTNER在“ Create based upon an existing project”下可以看到许多已有的工程和电路图。我们选择“ Create a blank project”,进入到仿真电路图绘制窗凵,并开始绘制电路图。如图1-5所示。i OrCAD Capture L/=(SCHEIATICI: PAGE1)□-回回 File: Edit View Tools Place Macro0 PSpice Accessories ption3置idoy正elpcadences间器回博期②0回角6@101PGE1仿真工具栏图4罕LxF121:31:14:516::1:11101110图1-5仿真电路图输入窗口接下来,我们先要学会选择器件:选择绘图工具栏中的点击后图1-5窗口出现放置元件的窗凵如图1-6所示。注意选择的器件库必须存储在路径为卜,此路径中的所有器件都有提供模型,可以直接调用。活着如果是使用自己的器件,必须保证两个文件同时存在,而且器件属性中必须包含属性,即在图对话框中选中的器件需要有燃的标i(对丁新建器件,后续有专门教程讲解)上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱cadenceCHANNEL PARTNERPlace partRPart lis上:QPND-4153/55C/DIODEUPND-41535/DIODEQPND-4153/27C/DIODEQSCH-55457-55C/DIODE05CH55125心D0DE添加元件库4527CDJoDEBTEST/TESR/ANALOG,--LibrariesxNAL口Desian CacheDIODEOPAMPSOURCEPackagingParts per PkgR?Part^∧Type: Homogeneous1k⊙Nrml+」 Search for fa图1-6放置元件的窗口如图1-6,我们选择输入“R”,找到在 analog.lib下的电阻器件,双击它就可以放置到绘图窗口屮了。接下来我们门作个简单例子来了解一下仿真的工程。当然这甲先进行的是自流扫描分析( DC Sweep)在图1-5的原理图绘制窗凵中输入如图1-7所示的电路。W图1-7原理电路图上图所用到的器件信息器件模型模型库电源VDC/ souce电阻R/ analog稳压管DI1N5225/ diode上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱cadenceCHANNEL PARTNER地0注意一点:地的选择不是在 Place part,而是在 Place ground中选择名称为0的0电路图画好后存盘,然后就要开始设置仿真参数开始进行仿真了。首先,新建个仿真文件,启动 PSpice/ New simulation命令,或者自接点击仿真工具栏中按钮,得到图1-8所示对话框。在Name中输入仿真文件名,如:DC,点击“ Create”后,在原来工程文件夹中就会自动生成一个名为“DC”的文件夹,后面所作的仿真结果和工程均保存在该文件夹下,方便于管理。HeS量 uLationXNalCreateDccelInherit fromroFERoot Schematic SCHEMATIC1图1-8仿真参数设置对话框完成图1-8后,会弹出图1-9所示的仿真参数设置窗凵。我们先从 Analysis中开始看起互 ilLation setFiles0ptectorY⊙ voltageModel typ○Guba○ ModelMonte Carlo/ W orst Cs OIermParameter namePTP〕- Sweep type□L。 d bias PEndvalue: 10O Logar ta mIc DecadeincrementOvale Ist确定□取捎应用)匚帮图1-9仿真参数设置窗口在 Analysis type(分析类型)屮我们选取 DC Sweep上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱cadenceCHANNEL PARTNER在 Option中,我们选取 Primary Sweep在 Sweep variable中可以看到如下几个选项Voltage Source电压源信息Current source电流源信息Global parameter全局参数Model parameter模型参数Temperature温度设置在 Sweep type中,我们可以设置为 Linear(线性); logarithmic(对数), valueline(设置点)。这里我们对电压源Ⅵ1进行设置,扫描值为-6V到10V,每次递增1V设置好后,点击确定。然后点击仿真工具栏屮的◎,运行仿真。接着就调出了 PSpice的界面,如图1-10所示。sCHELATICI-DC- PSpice ND [nC. dat (active)Iatis tait Yim amative Ia twt Trl. Iiam May cadence -oxSoHEMATIC1DC输出仿真结果区回基公回在这里,按照用户的要求可以产生各式各样的输出波形波形显示窗口或输出文件Poi"SCHEMATIC1DC[D pepooMFA仿高状态窗口,负资Reyong and cheekngeeutGreul reyn a checked no文字窗输出窗,负武显示显示本仿真执行内容本你真操作具的着的信惠2I1r010n户与执行后的信息图1-10 PSpice执行模拟窗口PSpice界面中最主要的工具栏含义如图1-11所示。对X轴坐标在对数或线性变‖对波形进行傅添加性能分析波化之间互相转换立叶变换形显示窗口QQ6amm回X查找波形上的点对Ⅴ轴坐标在对数或线计算全局性变化之间互相转换忝加波形显示出波函数值形让笪占图1-11 PSpice基木工具栏的含义选择菜单栏 Trace/ Add trace,或者点击图标,得到图1-12对话框,在这里我们可以看到有两个标签 Simulation output variables与 Functions and macros“ Simulation Output variables”中包含许多的变量,“ Functions and macros”上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱cadenceCHANNEL PARTNERkdd TraceSimulation Output variable仿真输出变量Functions or macrosAnalog Operators and FunctioID11I[D1: A)回点F1:1[y1凶 voltages1:+[D1: Alv CurrerIVIDI: KIN0120输出变量的列表回 Pawer8数学运算ATANITN0127函数□NHalAVGAVGXO∨R12cs(〕v1:回 Alias namesD[〕Subcircuit NodesDB(〕41[D1ENMA风RENVMIN I11EXF〔/2D过滤显示V2(R节点M21GGG[D125 variables listedR110‖A10〔1F时输入欲观看节点的波形[OK[Cancel[ Help图1-12加入波形对话框中冇需要测量的信息函薮。在操作的过程中,比如要看最大的的值的吋候,先选择Max0函数,再选择变量的类型V1⑩D1)。我们就可以在 Trace Expression中看到表达式:MAX(Ⅵl(D1)。这是一个最为基本的步骤。若选择输出V2(D1),得到图1-13的波形。通过波形可以自己分析是否满足设计要求图1-12输出波形随输入信号的变化曲线交流分析(上海市长宁区延安西路号华敏、翰尊时代广场层座邮箱
    2020-12-04下载
    积分:1
  • 指纹图像预处理及特征点提取(MATLAB)
    我毕业设计修改的一个程序,中文界面,做“指纹图像预处理及特征点提取”的可以直接用。完全可以运行。
    2020-12-06下载
    积分:1
  • 使用Qt实现TCP中客户端和服务器的交互通信
    【实例简介】使用Qt中的tcp协议,构建服务器和客户端的界面,实现交互通信,如聊天功能,此为一个简单的例子,但实现了所有的基本功能,富有参考性
    2021-11-05 00:35:42下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载