首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏又见苍岚

    Python 生成 2D 高斯

    本文记录 Python 中二维高斯核的生成方法。 生成思路 使用 cv2.getGaussianKernel(ksize, sigma[, ktype]) 函数 该函数用于生成一维高斯核 生成一维高斯核后乘以自己的转置得到二维高斯核 核心函数 cv2 ,使用时可以是偶数) 正整数 sigma 高斯函数的标准差 正数 ktype 滤波器系数的类型,可以是 cv2.CV_32f 或 cv2.CV_64f,配置参数后生成数据会分别表示为 float32 {i}-(\mathrm{ksize}-1) / 2)^{2} /(2 * \mathrm{sigma})^{2}} 生成方法 生成一维高斯核 import cv2 data = cv2.getGaussianKernel (300, 100, cv2.CV_32F) 计算得到二维高斯核 import cv2 from mtutils import PIS data = cv2.getGaussianKernel(300

    2.9K20编辑于 2022-08-06
  • 来自专栏算法channel

    机器学习储备(2):高斯分布

    讲解了独立同分布的概念,高斯分布,一维高斯分布。 1 独立同分布 指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。 在预测德克萨斯州区域的房屋价值时,房屋样本x1和样本x2之间的预测是相互独立的,它们之间不存在任何关系,这也是接近实际的。 2 高斯分布 高斯分布(Gaussian distribution), 又称为正态分布(Normal distribution),是一个非常重要在各个领域有广泛应用的概率分布。 若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)。 其概率密度函数为正态分布的,期望值μ决定了它的位置,标准差σ^2数据的偏离程度。 当μ = 0,σ = 1时的高斯分布又称为标准正态分布。 3 一维正态分布 若随机变量服从如下的概率密度函数,则表明是一维正态分布。 ? 当然,还有多维正态分布,在此不做详述。

    85490发布于 2018-04-02
  • 来自专栏GiantPandaCV

    SSE图像算法优化系列2-高斯滤波

    算法原理 或许大多数人对于高斯滤波的印象都停留在使用一个高斯在图像滑动然后计算结果。这的确没错,但从速度上考虑这种模式是难以优化的。也导致在极大分辨率图像上进行高斯滤波是压根不可行的。 幸运的是,高斯滤波实际上还有另外一种表达方式,那就是递归表达。这最早见于《Recursive implementation of the Gaussian filter》论文中: ? 这个递推公式的意义就是通过forward和backward来完成一维的高斯滤波。而二维的高斯滤波就是先行后列或者先列后行进行一维的高斯滤波。 算法具体过程 1、CalGaussCof 计算高斯模糊中使用到的系数 2、ConvertBGR8U2BGRAF 将字节数据转换为浮点数据 3、GaussBlurFromLeftToRight 水平方向的前向传播 将结果转换为字节数据 朴素代码实现步骤 1、CalGaussCof 计算高斯模糊中使用到的系数 这个工程按照公式来,技巧性不高。

    1.3K20发布于 2019-12-04
  • 来自专栏图像处理与模式识别研究所

    高斯滤波

    import cv2 o=cv2.imread("C:/Users/xpp/Desktop/Lena.png")#原始图像 r=cv2.GaussianBlur(o,(5,5),0,0)#高斯滤波 cv2 .imshow("original",o) cv2.imshow("result",r) cv2.waitKey() cv2.destroyAllWindows() 算法:高斯滤波将中心的权重值增加 dst=cv2.GaussianBlur(src, ksize, sigmaX, sigmaY, borderType) dst表示返回值,表示进行高斯滤波后得到的结果 src表示输入图像,图像深度是CV

    75620编辑于 2022-05-28
  • 来自专栏DeepHub IMBA

    高斯函数、高斯积分和正态分布

    首先,让我们了解高斯函数实际上是什么。高斯函数是将指数函数 exp(x) 与凹二次函数(例如 -(ax^2+bx+c) 或 -(ax^2+bx) 或只是-ax^2组成的函数。 两个高斯函数的图。第一个高斯(绿色)的λ=1和a=1。第二个(橙色)λ=2和a=1.5。两个函数都不是标准化的。也就是说,曲线下的面积不等于1。 将其与高斯 λ exp(-ax^2) 的一般形式进行比较,我们可以看到: (x - μ)^2表示的是均值μ如何在x轴上左右平移图像,这就是均值要做的。如果μ=0,那么图的中心为0。 这里需要注意的是当我们对积分进行平方时,得到了一个二维的图形化的径向对称的高斯函数。用x和y来表示积分e的指数是- (x^2+y^2)给了我们下一步应该做什么的线索。 概率密度函数的推导 我们将从广义高斯函数f(x)=λ exp(−ax^2)开始,正态分布下的面积必须等于1所以我们首先设置广义高斯函数的值,对整个实数线积分等于1 这里将 -a- 替换为 a^2 稍微修改了高斯分布

    2.2K10编辑于 2022-03-12
  • 来自专栏数据科学CLUB

    高斯过程

    高斯过程GaussianProcess ? 高斯过程的理论知识 非参数方法的基本思想 image.png image.png 高斯过程的基本概念 image.png image.png 高斯过程的Python实现 使用Numpy手动实现 定义核函数 image.png print(l_opt, sigma_f_opt) 0.9872536793237083 0.8613778055591963 更高维的高斯过程 image.png #噪音参数 小结 从前面我们可以看出,与常见的机器学习模型不同,用高斯过程做预测的方法是直接生成一个后验预测分布(依然是高斯分布)。 从统计学的角度上来看,利用高斯过程模型做预测具有很高的价值。

    2.2K20发布于 2020-07-01
  • 来自专栏余林丰

    13.高斯消去法(2)——三角矩阵

    对于下三角矩阵,如果按照行优先存储,则{a11, a21, a22, a31, a32, a33, a41, a43, a44},一维数组容量为10,即4 * ( 4 + 1) / 2 => n * (  n + 1 ) / 2,aij所在数组下标为:k = i * ( i - 1 ) / 2 + j - 1。    对于上三角矩阵,如果按照行优先存储,则{a11, a12, a13, a14, a22, a23, a24, a33, a34},一维数组容量为10,还是4 * ( 4 + 1) / 2 => n *  ( n + 1 ) / 2,aij所在数组下标为:k = ( i - 1)(2n - i + 2) / 2 + (j - 1)。   

    1.4K90发布于 2018-01-12
  • 来自专栏全栈程序员必看

    混合高斯背景建模原理_高斯图模型

    如果检验出该像素混合高斯模型中至少有一个高斯分布与像素值Xt 匹配, 那么混合高斯模型的参数更新规则为: 1)对于不匹配的高斯分布, 它们的均值μ和协方差矩阵 保持不变; 2)匹配的高斯分布Gi 的均值 从以上两种情况可以看出,影响一个分布是否背景分布的重要因素有两个: (1)该分布产生的数据所占的比例大小 (2)该分布的方差大小 基于这两个因素,采取如下的方法进行估计: 首先按ωk / | ), IPL_DEPTH_8U, 1)); CV_CALL( bg_model->storage = cvCreateMemStorage()); //initializing var_init = 2 nChannels; m++) { double d = g_point->g_values[k].mean[m]- src_pixel[m]; //通道m的原始模型值与当前像素的值之差 sum_d2 += (d*d); var_threshold += g_point->g_values[k].variance[m]; } //当前sum_d2为d0,d1,d2的平方和,var_threshold

    95210编辑于 2022-11-16
  • 来自专栏数据结构笔记

    高斯滤波

    高斯滤波和均值滤波的原理一样,在均值滤波中所有的像素点的权重都一样,而在高斯滤波中则是越靠近中心的像素点权重远大,权重的分配由二维高斯公式生成的矩阵决定,矩阵的阶和扫描的窗口大小一致。 关于二维高斯公式这里不再赘述,不了解的可以看看这篇文章:高斯函数的详细分析,这里就只给出一个二维高斯分布的产生函数了: //生成高斯核 double* make_kernel(int size, double sigma) { if (size % 2 == 0) { cout << "size必须为奇数" << endl; return NULL; } double* kernel = new double[size * size]; double d_sigma_2 = 2 * sigma * sigma; double c = 1 / 2); kernel[i*size+k] = exp(-(x * x + y * y) / d_sigma_2) * c; sum += kernel

    1.1K10发布于 2019-04-21
  • 来自专栏SnailTyan

    高斯模糊

    一、高斯模糊的概念 高斯模糊,也叫高斯平滑,英文为:Gaussian Blur,是图像处理中常用的一种技术,主要用来降低图像的噪声和减少图像的细节。 如图: 第一幅图为原始图像,其中心像素的像素值为2,第二幅图为中心像素进行模糊后的图像,其像素值为周围像素值的和的平均值。 图像模糊在数值上,这是一种”平滑化”。 高斯模糊会减少图像的高频信息,因此是一个低通滤波器。 2、图像模糊后的效果 下图的图像左半部分为原始图像,右半部分为模糊后的图像。 三、高斯模糊的代码及实验结果 在Opencv下使用高斯模糊处理图像 #include <opencv2\core\core.hpp> #include <opencv2\highgui\highgui.hpp url=yNgq8w79SYbS7OT4DQ5zhiwVg-7LyBWUm2vKnbg8KDD0FcPcb2Ok3AFNBvoiubzbrgrNUlk0tYKcRVlpykeI9q 2、阮一峰的博客

    6.1K20编辑于 2022-05-09
  • 来自专栏全栈程序员必看

    opencv高斯金字塔_高斯求和公式

    先将原图像扩大一倍之后作为高斯金字塔的第1组第1层,将第1组第1层图像经高斯卷积(其实就是高斯平滑或称高斯滤波)之后作为第1组金字塔的第2层,高斯卷积函数为: 对于参数σ,在Sift算子中取的是固定值 将第1组倒数第三层图像作比例因子为2的降采样,得到的图像作为第2组的第1层,然后对第2组的第1层图像做平滑因子为σ的高斯平滑,得到第2组的第2层,就像步骤2中一样,如此得到第2组的L层图像,同组内它们的尺寸是一样的 ,对应的平滑系数分别为:0,σ,kσ,k^2σ,k^3σ……k^(L-2)σ。 在不同组内,后一组第一个图像是前一组倒数第三个图像的二分之一采样,图像大小是前一组的一半; 高斯金字塔图像效果如下,分别是第1组的4层和第2组的4层: 三、 尺度空间 图像的尺度空间解决的问题是如何对图像在所有尺度下描述的问题 DOG金字塔的第1组第1层是由高斯金字塔的第1组第2层减第1组第1层得到的。以此类推,逐组逐层生成每一个差分图像,所有差分图像构成差分金字塔。

    96610编辑于 2022-11-04
  • 来自专栏菜鸟小栈

    高斯模糊 Shader

    正文 高斯模糊 在我们开始讨论代码之前,我们要先稍微了解以下几点... > 下面的讲解比较笼统,水平不够,请见谅! 高斯模糊是什么? 高斯模糊(Gaussian Blur),也叫高斯平滑,是一种生活中比较常见的图像处理效果。 经过高斯模糊处理的图像看起来就像是在一块毛玻璃后面,也就是俗称的“毛玻璃效果”。 高斯模糊也常用于处理噪点过高的图像,使图像看起来更平滑。 ? —▼— 实现原理是什么? 从数学的角度来看,高斯模糊的处理过程就是图像与其正态分布做卷积。 因正态分布又称高斯分布(Gaussian distribution),所以这种技术就叫做高斯模糊。 vec2 size; }; 2.

    2.5K21发布于 2020-07-10
  • 来自专栏ACM算法日常

    高斯消元

    高斯消元 众所周知,高斯消元是线性代数中重要的一课。通过矩阵来解线性方程组。高斯消元最大的用途就是用来解多元一次方程组。 前置技能 1.线性方程组 线性方程组是各个方程关于未知量均为一次的方程组(例如 2 元 1 次方程组) 2.增广矩阵 就是在系数矩阵的右边添上一列,这一列是线性方程组的等号右边的值。 将样例输入化成一个普通的增广矩阵(将系数和值整合到一起) 这样的矩阵我们很难直观的看出它的解 所以我们最终的目的就是要把矩阵化成如下形式 这样我们能非常直观的看出它的解简单来说高斯消元最后就是要搞出这玩意 接着消元我们得到 第三个方程只有一个变量了,我们可以直观的看到它的值 然后再倒着往上消元 我们就得到了我们想要的矩阵 最后总结出算法步骤 1.枚举每一列,找到绝对值最大的一行 2.将该行换为第一行 3. std; const int N=110; const double eps=1e-8; int n; double a[N][N];//增广矩阵 /*void out() {//亲测 本人遇到最好用的高斯消元

    91310发布于 2019-11-25
  • 来自专栏算法+

    快速高斯模糊算法

    刚才发现一份快速高斯模糊的实现。 { unsigned int i, j ; radius = min(max(1, radius), 248); unsigned int kernelSize = 1 + radius * 2; * r2 = rgb2; unsigned char * g2 = rgb2 + imageSize; unsigned char * b2 = rgb2 + imageSize * 2; ri] = cr / sum; g2[ri] = cg / sum; b2[ri] = cb / sum; } yi += imgWidth; } yi = y*imgWidth read]]; cg += mult[i][g2[read]]; cb += mult[i][b2[read]]; sum += kernel[i]; }

    2K50发布于 2018-04-12
  • 来自专栏全栈程序员必看

    高斯分布例题_高斯定理求半球面球心电场

    给定心形曲线 (x2+y2−1)3=x2y3 (x^2+y^2-1)^3=x^2y^3,给定任意一点的坐标 (X,Y) (X,Y)其中 X~N(X,σx) X~N(X,\sigma_x), 注意:心形曲线方程可化为 x2+y2−1=x2/3y x^2+y^2-1=x^{2/3}y,满足 x2+y2−1<=(x2)1/3y x^2+y^2-1<=(x^2)^{1/3}y在曲线内。 CX=block/2.0 CY=block/2.0 for y in np.arange(0,block): for x in np.arange(0,block): if (res*(x-CX))**2+ (((y-CY)*res-Y)/sigmay)**2)) ssum=ssum+theta*map1[y,x] plt.figure(2) plt.imshow(map1,cmap='gray') #print (ssum/(np.sum(np.sum(f)))) #print(res**2*theta*np.sum(np.sum(f))) print(res**2*ssum) print(np.round(res

    34930编辑于 2022-11-03
  • 来自专栏全栈程序员必看

    java实现高斯日记

    题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。 高斯出生于:1777年4月30日。 在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。 高斯获得博士学位的那天日记上标着:8113 请你算出高斯获得博士学位的年月日。 提交答案的格式是:yyyy-mm-dd, 例如:1980-03-21 请严格按照格式,通过浏览器提交答案。

    41010编辑于 2022-08-12
  • 来自专栏DeepHub IMBA

    如何推导高斯过程回归以及深层高斯过程详解

    使用不同核函数的高斯过程 高斯过程 像所有其他机器学习模型一样,高斯过程是一个简单预测的数学模型。像神经网络一样,它可以用于连续问题和离散问题,但是其基础的一些假设使它不太实用。 后面的灰色区域是不确定性(边际预测分布的+- 2),有了它,如果我们使用周期核函数,我们就能够高度自信地跟踪信号。 让我们看看一些常见的核函数。 2(?1(?))))).g(x)=f5(f4(f3(f2(f1(x))))). 如果我们从概率的角度来看,我们可以看到一个深层高斯过程指定了联合密度的因数分解,标准的深模型采用马尔可夫链的形式。 为什么叫深层高斯过程的限制因素实际上很容易直观地理解。因为高斯过程指定了函数的先验;这个函数的导数(如果存在的话)也是高斯函数。这也说明边际导数分布也是高斯分布。 2过程,数据明显噪音所以这实际上是一件好事![注,这是广泛使用的方法] 2)对你的GP执行低阶近似;也就是说做一个特征值/特征向量分解并剪辑所有可以忽略的特征值。

    2.8K10发布于 2020-11-17
  • 来自专栏向治洪

    android 高斯模糊实现

    高斯模糊 高斯模糊就是将指定像素变换为其与周边像素加权平均后的值,权重就是高斯分布函数计算出来的值。 一种实现 点击打开链接<-这里是一片关于高斯模糊算法的介绍,我们需要首先根据高斯分布函数计算权重值,为了提高效率我们采用一维高斯分布函数,然后处理图像的时候在横向和纵向进行两次计算得到结果。 data, int width, int height, int radius,   float sigma) {   float pa = (float) (1 / (Math.sqrt(2  * Math.PI) * sigma));   float pb = -1.0f / (2 * sigma * sigma);   // generate the Gauss Matrix         bitmap.setPixels(pix, 0, w, 0, 0, w, h);   return (bitmap);       }   这里的方法也可以实现高斯模糊的效果

    1.8K80发布于 2018-02-01
  • 来自专栏图像处理与模式识别研究所

    高斯金字塔

    import cv2 def gaussian_pyramid(image): level=3#高斯金字塔层数 temp=image.copy() gaussian_images =[] for i in range(level): dst=cv2.pyrDown(temp)#图像进行向下采样 gaussian_images.append( =cv2.imread('C:/Users/xpp/Desktop/Lena.png') cv2.namedWindow('img',cv2.WINDOW_AUTOSIZE) cv2.imshow('img ',img) gaussian_pyramid(img) cv2.waitKey(0) cv2.destroyAllWindows() 算法:高斯金字塔是信号的多尺度表示法,亦即将同一信号或图片多次的进行高斯模糊 高斯金字塔: 首先使用高斯核对输入图像进行卷积处理 然后删除当前图像中所有偶数行和偶数列,得到的图像面积就会变成源图像的1/4 直到达到设定中止条件时,停止向下采样,得到一系列尺寸缩放的图像集 文献

    1K30编辑于 2022-05-28
  • 来自专栏各类技术文章~

    混合高斯模型(GMM)

    利用高斯混合模型进行聚类,本质上可以这么理解: 数据的分布由若干高斯分布组合而成,需要通过传入的无标记数据,求解出各个高斯模型的参数和各个模型的先验概率! 设有随机变量X,则混合高斯模型可以用下式表示: 其中N(x∣μk,Σk)称为混合模型中的第k个分量。 其中,µ为高斯分布的均值向量,ε为高斯分布的协方差矩阵。 2 GMM的隐变量 隐变量是一个辅助变量,GMM的隐变量表示的是样本x属于哪一个高斯分布。 隐变量是一个向量,并且这个向量中只有一个元素取值为1,其它的都是0。 ,类比GMM中K1、K2高斯分模型,不知道数据来自哪个分模型。 GMM中K1、K2、K3类比箱子1、箱子2、箱子3,类比HMM中状态1、状态2、状态3。 3 GMM训练问题 极大似然估计、EM 极大似然估计 利用不完全数据(只有观测数据)的边缘分布。

    1.7K20发布于 2021-09-16
领券