混合高斯模型原理======实验分析

运动目标检测跟踪主流算法 运动目标跟踪主流算法大致分类 不全,需要慢慢补充  一.运动目标检测  (一)背景差  1.帧差 2.GMM 等  背景减算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定摄像头的情形,目前大多数的跟踪算法中都采用背景减算法来进行目标检测。背景减算法的局限性在于它需要一个静态的固定摄像头。  (二)运动场  光流 阅读详情

混合高斯模型跟高斯变量之和看起来有一点像, 注意不要把它们弄混淆了. 混合高斯模型给出的概率密度函数实际上是几个高斯概率密度函数的加权和:

  p(x) = /sum_{i=1}^n p_i N(x; /bar{x}_i, P_i)

其中/sum_{i=1}^np_i = 1 . 定义事件A_i = /{x /sim N(/bar{x}_i, P_i)/} , 则/mathbb{P}/{A_i/} = p_i . 据此可以产生服从上述混合高斯概率密度分布的样本.

混合分布的均值为


方差为


计算均值和方差的公式不仅适用于几个(多维)高斯分布混合的情况, 还适用于非高斯分布的情况.

高斯变量之和就没什么好说的了, 几个高斯变量之和是一个新的高斯变量.

 

高斯背景模型在 运动检测中的应用

     原理 : 高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。
    对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以认为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相比比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状,其中一个峰对应于目标,另一个峰对应于背景的中心灰度。对于复杂的图像,尤其是医学图像,一般是多峰的。通过将直方图的多峰特性看作是多个高斯分布的叠加,可以解决图像的分割问题。

    在智能监控系统中,对于运动目标的检测是中心内容,而在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而建模正是背景目标提取的一个重要环节。

    我们首先要提起背景和前景的概念,前景是指在假设背景为静止的情况下,任何有意义的运动物体即为前景。建模的基本思想是从当前帧中提取前景,其目的是使背景更接近当前视频帧的背景。即利用当前帧和视频序列中的当前背景帧进行加权平均来更新背景,但是由于光照突变以及其他外界环境的影响,一般的建模后的背景并非十分干净清晰,而高斯混合模型是是建模最为成功的方法之一。

     混合高斯模型使用K(基本为3到5个)个高斯模型来表征图像中各个像素点的特征,在新一帧图像获得后更新混合高斯模型, 用当前图像中的每个像素点与混合高斯模型匹配,如果成功则判定该点为背景点, 否则为前景点。 通观整个高斯模型,主要是有方差和均值两个参数决定,对均值和方差的学习,采取不同的学习机制,将直接影响到模型的稳定性、精确性和收敛性 。由于我们是对运动目标的背景提取建模,因此需要对高斯模型中方差和均值两个参数实时更新。为提高模型的学习能力,改进方法对均值和方差的更新采用不同的学习率;为 提高在繁忙的场景下,大而慢的运动目标的检测效果,引入权值均值的概念,建立背景图像并实时更新,然后结合权值、权值均值和背景图像对像素点进行前景和背景的分类。

       到这里为止,混合高斯模型的建模基本完成,我在归纳一下其中的流程,首先初始化预先定义的几个高斯模型,对高斯模型中的参数进行初始化,并求出之后将要用到的参数。其次,对于每一帧中的每一个像素进行处理,看其是否匹配某个模型,若匹配,则将其归入该模型中,并对该模型根据新的像素值进行更新,若不匹配,则以该像素建立一个高斯模型,初始化参数,代理原有模型中最不可能的模型。最后选择前面几个最有可能的模型作为背景模型,为背景目标提取做铺垫。


    方法: 目前,运动物体检测的问题主要分为两类,摄像机固定和摄像机运动。对于摄像机运动的运动物体检 测问题,比较著名的解决方案是光流法,通过求解偏微分方程求的图像序列的光流场,从而预测摄像机的运动状态。对于摄像机固定的情形,当然也可以用光流法, 但是由于光流法的复杂性,往往难以实时的计算,所以我采用高斯背景模型。因为,在摄像机固定的情况下,背景的变化是缓慢的,而且大都是光照,风等等的影响,通过对背景建模,对一幅给定图像分离前景和背景,一般来说,前景就是运动物体,从而达到运动物体检测的目的。
  单分布高斯背景模型
  单分布高斯背景模型认为,对一个背景图像,特定像素亮度的分布满足高斯分布,即对背景图像B, (x,y)点的亮度满足:
  IB (x,y) ~ N(u,d)
  这样我们的背景模型的每个象素属性包括两个参数:平均值u 和 方差d。
  对于一幅给定的图像G,如果 Exp(-(IG (x,y)-u(x,y))^2/(2*d^2)) > T,认为(x,y)是背景点,反之是前景点。
  同时,随着时间的变化,背景图像也会发生缓慢的变化,这时我们要不断更新每个象素点的参数
  u(t+1,x,y) = a*u(t,x,y) + (1-a)*I(x,y)
  这里,a称为更新参数,表示背景变化的速度,一般情况下,我们不更新d(实验中发现更不更新 d,效果变化不大)。

openCV中高斯混合模型的应用

  高斯混合模型是用于背景提取的方法,OpenCV的cvaux中 cvbgfg_gaussmix.cpp文件根据文献"An improved adaptive background mixture model for real-time tracking with shadow"中提供的方法编写了高斯混合模型函数。其中定义了CvGaussBGModel类用于存放高斯混合模型的各个参数。我用OpenCV使用高斯 混合模型函数分以下几步:
  1。需要用到 icvUpdateGaussianBGModel,icvReleaseGaussianBGModel两个函数,但是源程序中将这两个函数定义为内部函数,需要做一些修改,首先将cvbgfg_gaussmix.cpp中前面两个函数的声明static void CV_CDECL icvReleaseGaussianBGModel( CvGaussBGModel** bg_model );
static int CV_CDECL icvUpdateGaussianBGModel( IplImage* curr_frame, CvGaussBGModel* bg_model );两行代码注释掉。然后在cvbgfg_gaussmix.cpp中间部分两个函数的定义部分,函数头static int和static void改成CV_IMPL int 和CV_IMPL void。最后在cvaux.h文件中CVAPI(CvBGStatModel*) cvCreateGaussianBGModel( IplImage* first_frame,
  CvGaussBGStatModelParams* parameters CV_DEFAULT(NULL));这句后面加上以下两句CVAPI(void) icvReleaseGaussianBGModel( CvGaussBGModel** bg_model );
  CVAPI(int) icvUpdateGaussianBGModel( IplImage* curr_frame, CvGaussBGModel* bg_model );
  程序修改完毕,点rebuild all,全部重新编译。
  2。在程序初始化部分定义高斯混合模型参数CvGaussBGModel* bg_model=NULL;在读取第一帧图像(背景图像)时,进行高斯背景建模bg_model = (CvGaussBGModel*)cvCreateGaussianBGModel(image, 0);image可以是灰度图象也可以是彩色图像。接下来再读取当前帧时,更新高斯模型
   regioncount=icvUpdateGaussianBGModel(currframe, bg_model );regioncount的含义我不确定,我理解是代表背景中不同颜色区域的个数,这个参数我没有用到,它只是 icvUpdateGaussianBGModel函数的返回值。
  3。现在bg_model已经保存了经过高斯混合模型分类后的结 果,bg_model->background保存了背景图像,bg_model->foreground保存了前景图像。
 

代码:

#include <stdio.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <cvaux.h>//必须引此头文件
int main( int argc, char** argv )
{ 
 
   IplImage* pFrame = NULL;   
   IplImage* pFrImg = NULL; 
   IplImage* pBkImg = NULL;   
   CvCapture* pCapture = NULL;   
   int nFrmNum = 0;
 
   cvNamedWindow("video", 1); 
   cvNamedWindow("background",1); 
   cvNamedWindow("foreground",1);   
   cvMoveWindow("video", 30, 0); 
   cvMoveWindow("background", 360, 0); 
   cvMoveWindow("foreground", 690, 0);
   if( argc > 2 )   
   {     
      fprintf(stderr, "Usage: bkgrd [video_file_name]\n");     
      return -1;   
   }
 
 
   //打开视频文件 
   if(argc == 2)   
      if( !(pCapture = cvCaptureFromFile(argv[1])))     
      {   
         fprintf(stderr, "Can not open video file %s\n", argv[1]);   
         return -2;     
      }
   //打开摄像头 
   if (argc == 1)   
      if( !(pCapture = cvCaptureFromCAM(-1)))     
      {   
         fprintf(stderr, "Can not open camera.\n");   
         return -2;     
      }   
 
                //初始化高斯混合模型参数
   CvGaussBGModel* bg_model=NULL;
 
   while(pFrame = cvQueryFrame( pCapture ))   
   {     
      nFrmNum++;           
      if(nFrmNum == 1)   
      {    
         pBkImg = cvCreateImage(cvSize(pFrame->width, pFrame->height),  IPL_DEPTH_8U,3);   
         pFrImg = cvCreateImage(cvSize(pFrame->width, pFrame->height),  IPL_DEPTH_8U,1);     
 
 
         //高斯背景建模,pFrame可以是多通道图像也可以是单通道图像
          //cvCreateGaussianBGModel函数返回值为CvBGStatModel*,
          //需要强制转换成CvGaussBGModel*
         bg_model = (CvGaussBGModel*)cvCreateGaussianBGModel(pFrame, 0);
      }     
      else
      {    
                 //更新高斯模型
        cvUpdateBGStatModel(pFrame, (CvBGStatModel *)bg_model );
 
         //pFrImg为前景图像,只能为单通道
          //pBkImg为背景图像,可以为单通道或与pFrame通道数相同
         cvCopy(bg_model->foreground,pFrImg,0);
            cvCopy(bg_model->background,pBkImg,0);
 
         //把图像正过来
         pBkImg->origin=1;
         pFrImg->origin=1;
 
         cvShowImage("video", pFrame);    
         cvShowImage("background", pBkImg);    
         cvShowImage("foreground", pFrImg);       
         if( cvWaitKey(2) >= 0 )      
            break;     
      }     
 
   }
 
   //释放高斯模型参数占用内存   
   cvReleaseBGStatModel((CvBGStatModel**)&bg_model);
   cvDestroyWindow("video"); 
   cvDestroyWindow("background"); 
   cvDestroyWindow("foreground");   
   cvReleaseImage(&pFrImg); 
   cvReleaseImage(&pBkImg);   
   cvReleaseCapture(&pCapture);   
   return 0;
}


运动检测-基于帧间比较减少灯光影响-opencv-python 文章首发及后续更新:https://mwhls.top/2485.html 新的更新内容请到mwhls.top查看。 无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。 Github:https://github.com/asd123pwj/motion-detect这篇是一次比赛的记录,用的测试视频是亿联公司提供的,保护隐私就不放图了。这篇是效果最好的代码介绍,之后我还会把很好消除光照但模糊运动检测无能的代码补上,为各位提供其它思路。补上了:运动检测-基于边缘提取与帧间作差-opencv-pyt 阅读详情

相关推荐

详解EM算法与混合高斯模型(Gaussian mixture model, GMM)

  最近在看晓川老(shi)师(shu)的博士论文,接触了混合高斯模型(Gaussian mixture model, GMM)和EM(Expectation Maximization)算法,不禁被论文中庞大的数学公式所吓退。本文通过查阅相关资料,在复杂巧妙的推理公式中融入了自己的理解,详细梳理了混合高斯模型和EM算法。 1 单高斯模型(Gaussian single model, GSM)...

林立民爱洗澡 15万+

运动目标检测--帧间差分与背景差分相融合

一、概述        本文提出了一种简单有效的运动物体检测方法。这种方法是将帧间差分和背景差分相结合起来。预先选取一帧作为背景帧, 建立各像素点的高斯模型。再运用帧间差分法对相邻两帧图像进行差分处理, 区分出背景点和变化的区域(在当前帧中变化的区域包括显露区和运动物体) 。然后将变化区域与背景帧的对应区域进行模型拟合区分出显露区和运动物体, 最后在运动物体中去除阴影, 这样将不带阴影的运动物体

4387

数据处理和分析之数据聚类:Gaussian Mixture Models (GMM):混合高斯模型(GMM)原理

在图像中,像素的颜色可以视为多维空间中的点,而GMM能够捕捉这些点的复杂分布,通过假设图像中的像素颜色遵循多个高斯分布,每个分布代表图像中的一个不同的区域或对象。这会导致模型在未见过的数据上表现不佳。极大似然估计提供了一种直接的方法来最大化数据出现的概率,而EM算法则通过迭代地期望和最大化步骤,处理了数据中的隐变量问题,使得参数估计更加准确和稳定。从图中可以看出,使用2个混合成分的GMM能够很好地捕捉数据的分布,而使用4个混合成分的GMM则开始过拟合,试图在数据中不存在的模式上建立额外的高斯分布。

2401_87715305的博客 776

混合高斯模型

http://blog.youkuaiyun.com/wqvbjhc/archive/2010/04/15/5485242.aspx混合高斯模型原理<br />    混合高斯模型跟高斯变量之和看起来有一点像, 注意不要把它们弄混淆了. 混合高斯模型给出的概率密度函数实际上是几个高斯概率密度函数的加权和: <br /><br />其中 . 定义事件 , 则 . 据此可以产生服从上述混合高斯概率密度分布的样本.<br />混合分布的均值为<br /><br />方差为<br /><br />计算均值和方差的公式不仅适用于

china_cobra的专栏 2345

GMM混合高斯模型

GMM(Gaussian Mixture Model)混合高斯模型,是一种基于概率论、期望最大化(EM)方法的数据聚类算法。GMM属于无监督学习,可以将相似的数据点聚类成同一个群组或簇,并且可以自动确定数据的共性和个性。同时,GMM也是一个非线性分类器,能够有效处理复杂的非凸数据集。本文通过对GMM原理及其运用进行阐述,并给出使用Python语言实现GMM算法的代码实例,最后讨论其未来的发展方向。数据聚类(Clustering)是指对数据集中的数据点进行分组,使得同一组中的数据具有相似的特征。

AI天才研究院 1028

运动目标检测背景建模:混合高斯模型实现

运动目标检测是计算机视觉领域的重要组成部分,它主要涉及从视频序列中识别出移动物体的技术。这一技术广泛应用于安防监控、人机交互、交通管理等多个场景。目标检测的准确性直接关系到后续处理流程的效率和质量,比如物体跟踪、行为分析等。在本章中,我们会首先介绍运动目标检测的基本概念,随后探讨影响检测效果的关键因素,并概述常用的方法和技术路线。通过这些内容,读者将获得对运动目标检测流程的初步认识,为进一步学习本系列内容打下坚实的基础。在深入研究之前,让我们首先明确几个基本定义。

weixin_42602368的博客 1204

LBP特征学习及实现

老外的原文:《Multiresolution gray-scale and rotation invariant texture classification with local binary patterns》 Timo Ojala, Matti PietikaÈ inen,2002   本文将对这篇文章做部分翻译,最后将分别给出下列代码实现 。灰度不变性LBP( gray scale i

Where there is life, there is hope 2万+

【电机控制入门】——电机控制书籍推荐

电机控制入门书籍推荐及分享 阅读须知: 1.电机控制的入门是涉及到机械、电子与控制等复杂交叉学习,它需要持续投入时间才可以看到学习的效果,如同“一万小时定律”。俗话说,九层之台,起于垒土,因此电机控制入门没有所谓的速成培训班。相反,还需要夯实好一定的基础。为此,博主建议从基础理论抓起,故推荐相关的书籍并分享给大家。 2.学习电机贵在动手实践,无论是借助于MATLAB/Simulink仿真平台来验证理论分析,或是使用板子对所设计的控制系统进行物理实现,博主极力推荐在一定基础(看完部分以下推荐的书籍),一边动手

昔时扬尘处 3万+

混合高斯模型深入理解和分析

混合高斯模型深入理解和分析 1.高斯模型假设的原理 我们认为物体上的每一个像素点它的亮度值是一个随机变量,这个随机变量服从高斯分布,可以定性的分析一下,每个像素点都有一个自生本来的像素值,比如背景的亮度,有一个自己本来的值,可以认为是均值,当太阳光强了一点,这个值就会比均值大一些,当太阳被云彩遮住了,他的亮度又比均值小了写,可见是在均值的附近波动,但是他每次像素值的变化程度我们可以用一个方差来表

懒洋洋工程师的笔记 2419

华为路由器静态路由配置实战:从零搭建企业级网络环境(含常见错误排查)

本文以真实企业组网案例为基础,详细解析华为路由器静态路由的实战配置流程。内容涵盖从网络拓扑规划、IP地址分配到具体的`ip route-static`命令配置,并重点讲解了缺省路由、浮动路由等进阶应用。文章还提供了系统化的排错指南,帮助网络工程师规避回程路由缺失、子网掩码错误等常见问题,是掌握企业级网络搭建与维护的实用指南。

weixin_29313817的博客 89

Streamlit(九) widgets-input

st.text_input / st.number_input / st.date_input / st.time_input 源码路径:${python}\Lib\site-packages\streamlit\elements\text_widgets.py(number_input.py, time_widgets.py) st.text_input st.text_input(label, value="", max_chars=None, key=None,\

heianduck的博客 3354

混合高斯模型原理和Lucas-Kanade方法介绍

运动估计之混合高斯模型原理和Lucas-Kanade方法介绍 1. 简述混合高斯模型的基本原理,以及通过混合高斯模型进行背景建模的基本思想。 背景建模的思想:利用帧之间的像素变化来进行判断,像素灰度值变化较大的是前景(或者说是移动目标),反之为背景。 帧差法的两个问题:1.移动目标的重合会出现空洞问题,不利于对目标的特征分析。2.帧之间的噪声放大。 现在不再局限于两帧之间,而是取取一段时间的内的所...

Shaw_Shaw的博客 1036

【Autosar】学习总结-MCAL

一、简介 MCAL:微控制器抽象层;位于BSW层中的最下层; MCAL细分,可将驱动分为:微控制器驱动、存储器驱动、通信驱动、IO驱动: 二、MCAL的配置(EB-Tresos) 1.PORT 我理解的PORT:MCAL层中的IO驱动组中的pin脚总体配置: Port就是芯片上的每个pin脚,可以配置成DIO ADC PWM ICU等单引脚的功能,也能配置成CAN的TX或者RX、SPI的MOSI等等其他功能的单个pin脚功能; 总之,PORT就是芯片上的具体的某个引脚。 配置

zDavid_2018的博客 3万+

基于Python关于混合高斯模型的期望最大算法的实现

一、项目背景与意义混合高斯模型(Gaussian Mixture Model, GMM)是一种强大的概率模型,常用于聚类、密度估计以及背景/前景分割等任务。它通过多个高斯分布的混合来逼近任意复杂的概率分布。然而,GMM中的参数估计是一个挑战,尤其是当存在隐变量或缺失数据时。期望最大算法(Expectation-Maximization algorithm, EM)正是一种用于此类问题的高效迭代优化算法。

2301_79810943的博客 933

GEE:本地影像上传到GEE的Assets中,并输入机器学习算法中作为特征变量

当我们在 Google Earth Engine(GEE)中应用机器学习算法时,会输入一些影像作为特征变量数据,进一步根据这些特征影像去推理未知区域的数据。但是 GEE 平台上计算特征变量的 API 函数并不是非常全面,我们希望获得更多的特征用于分类。这个时候,我们可以将本地计算的特征影像上传到 GEE 中进行后续处理。本文记录了从本地上传特征数据到 GEE 的 Assets 中的教程,用于后续在 GEE 中分类或者回归使用。本文也可作为《》一文的补充。

养乐多的博客 1730

C++多线程 task--std::promise和std::future

本文主要讲解C++11/14/17中所提供的应用于多线程编程中的Task机制。Task可由如下几部分取得而本文主要讲解std::promise和std::future相关的内容。std::promise和std::future通过一个数据管道进行交流,可以将std::promise看作生产者,std::future看作消费者,其两者形成如下的方式交互std::promise本身是一个模版类,通过std::promise可以像数据管道中设置value,异常和相应的通知信息。std::promise提供了如下接

qls315的博客 1818

BGSLibrary核心算法原理解析:从帧差法到混合高斯模型

BGSLibrary是一个功能强大的C++背景减除库,提供了Python、MATLAB、Java等多语言接口和QT图形界面。它汇集了多种先进的背景减除算法,能够帮助开发者快速实现视频序列中的前景目标检测,广泛应用于智能监控、行为分析、交通流量统计等领域。 ## 一、背景减除技术基础 背景减除(Background Subtraction)是计算机视觉领域的关键技术,其核心思想是通过建立背景模型

gitblog_00490的博客 898

【AI编程】Codex 进阶与高阶技巧:从熟练到精通——2026 最新教程

Skill 是 Codex 的「插件」—— 一段 Markdown 定义触发条件、输入参数和执行流程。比自定义命令更强大,支持参数化、多步骤、条件判断。

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 192

背景建模实战:从帧差法到混合高斯模型的 OpenCV 实现

前景是视频中变化的、我们感兴趣的区域;背景是视频中相对静止的、无需重点关注的区域。背景建模的本质的是通过分析像素点在时间维度上的变化规律,判断其属于背景还是前景。接下来,我们将逐一解析两种经典方法的原理与实现。

weixin_41072743的博客 925

【OpenClaw从入门到精通】命令行操作指南——TUI模式高效管理OpenClaw(2026避坑版)

本文将详细介绍OpenClaw的命令行操作,重点介绍TUI(Text User Interface)模式的高效使用方法,以及在实际使用中需要避免的常见陷阱。通过本文的学习,你将掌握OpenClaw命令行的精髓,提升工作效率。

一键难忘的博客 1691

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

混合高斯模型算法

下面介绍一下几种典型的机器算法 首先第一种是高斯混合模型算法: 高斯模型有单高斯模型(SGM)和混合高斯模型(GMM)两种。 (1)单高斯模型: 为简单起见,阈值t的选取一般靠经验值来设定。通常意义下,我们一般取t=0.7-0.75之间。 二维情况如下所示: (2)混合高斯模型:         对于(b)图所示的情况

xiaopihaierletian的博客 1577

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OpenCV_基于混合高斯模型GMM的运动目标检测

OpenCV的video module中包含了几种较为常用的背景减除方法,其中混合高斯模型(Gaussian of Mixture Models, GMM)方法效果较好。 常用的目标检测方法:1)帧间差分;2)背景减除; 其中背景减除方法的关键在于建立一个鲁棒的背景模型(背景图像),常用的建立背景模型方法有: 1)均值法;2)中值法;3)滑动平均滤波法;4)单高斯;5)混合高

loadstar_kun的专栏 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OpenCV混合高斯模型代码分析与完善

本文中的代码选自OpenCV2.4.5的

zxpddfg的专栏 1305
上一篇: 清明节---山东又叫寒食节--吃冷食
下一篇: 高斯(核)函数简介
rns521
博客等级 码龄15年 195粉丝 74原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值