影象高斯分佈生成
給定一些標記點的座標,希望生成其在影象中的高斯分佈圖。
首先,上公式:
(不造怎麼上公式。。嗯稍後學習學習再補充)
import numpy as np
import matplotlib.pyplot as plt
def gaussmapcreate():
"""load data to get:
img, pnum, points"""
# imglist = os.listdir(imgpath)
# img0 = cv2.imread(imgpath+'/'+imglist[0])
gaussmap = np.zeros(shape=([img.shape[0 ], img.shape[1]]))
if pnum==0:
return gaussmap
h = img.shape[0]
w = img.shape[1]
Y, X = np.mgrid[0:h:1, 0:w:1]
# positions = np.vstack([X.ravel(), Y.ravel()])
for p in xrange(pnum):
x = points[p,0]
y = points[p,1]
v = [[0.2*m, 0], [0, 0.2*m]] #standard deviation#協方差為零
dx = v[0][0]
DX = np.square(dx)
dy = v[1][1]
DY = np.square(dy)
part1 = 1/(2*np.pi* dx * dy)
p1 = -1.0/2
px = (X-x)**2/DX
py = (Y-y)**2/DY
Z = part1 * np.exp(p1 * (px + py))
gaussmap += Z
plt.imshow(gaussmap)
plt.colorbar()
plt.show()
return gaussmap
以上是根據公式直接計算。
然而scipy庫中有函式直接得到高斯密度分佈。
from scipy import stats
Z0 = stats.norm.pdf(X, loc=x, scale=scale0)
Z0 *= stats.norm.pdf(Y, loc=y, scale=scale0)
相關推薦
影象高斯分佈生成
給定一些標記點的座標,希望生成其在影象中的高斯分佈圖。 首先,上公式: (不造怎麼上公式。。嗯稍後學習學習再補充) import numpy as np import matplotlib.p
Python 影象處理: 生成二維高斯分佈蒙版
在影象處理以及影象特效中,經常會用到一種成高斯分佈的蒙版,蒙版可以用來做影象融合,將不同內容的兩張影象結合蒙版,可以營造不同的藝術效果。 I=M∗F+(1−M)∗B 這裡I 表示合成後的影象,F 表示前景圖,B 表示背景圖,M 表示蒙版,或者直接用
python 多維高斯分佈資料生成
import numpy as np import matplotlib.pyplot as plt def gen_clusters(): mean1 = [0,0] cov1 = [[1,0],[0,10]] data = np.random.multi
MKL/VSL,vRngGaussian:生成高斯分佈隨機數
以產生Gauss分佈隨機數為例,需要的步驟有: 1. 定義type(vsl_stream_state) :: stream。 按照手冊,stream的定義為“Random stream (or stream) is an abstract source
生成高斯分佈隨機數的程式
本文用的是The Box-Muller transformation的改進方法,稱為Polar Method,迴圈裡面取代了Box-Muller方法中的sin和cos函式,從而提高了速度。 #include <stdlib.h> #include
影象處理 二維高斯分佈
為X,Y的相關係數!為0;σ1=σ2=σ 二維高斯曲面的公式(x,y代表畫素的模板座標,模板中心位置為原點) 根據這個公式,我們可以計算得到不同σ的高斯模板。下面是C語言程式實現: 當σ即半徑為0.7時: #include "stdafx.h" #include
matlab生成二維服從高斯分佈的資料
由於實驗需要,需要生成兩類模式的資料,同時這兩類資料要服從正態分佈(高斯分佈)。 使用matlab來實現: mu = [2 3]; SIGMA = [1 0; 0 2]; r = mvnrnd(mu,SIGMA,100); plot(r(:,1),r(:,2
利用CImage類對影象進行高斯噪聲生成
課上作業要求利用C裡面的自帶類庫對影象做一個高斯噪聲的生成,記錄一下大概的原理和步驟。 首先是對高斯函式的理解 這個函式是一個高斯概率密度的分佈表示式,表示為X~N(μ,σ²),其中μ表示均值,σ²表示方差,當μ=0,σ²=1時為標準正態分佈。
如何生成指定均值和協方差矩陣的二維高斯分佈資料
廢話不多說,先貼程式碼。function y= main_generate_data()clcclear close all%%%%%%%%%%%%%%%%%%%%%%%%%生成實驗資料集rand('state',0)sigma_matrix1=eye(2);sigma_
[轉] 如何用matlab生成服從混合高斯分佈的隨機數?
M=10; %產生M行N列的隨機數矩陣 N=8; miu1=1;%第一個分佈的引數 sigma1=2;%第一個分佈的引數 miu2=6;%第二個分佈的引數 sigma2=1;%第二個分佈的引數 R = 0.2*normrnd(miu1,sigma1,M,N)+0.8*normrnd(miu2,si
matlab練習程式(生成多維高斯分佈概率密度函式)
clear all; close all; clc; randn('seed',0); %%一維高斯函式 mu=0; sigma=1; x=-6:0.1:6; y=normpdf(x,mu,sigma); plot(x,y); figure; %%二維或多維高斯函式 m
matlab生成兩類服從高斯分佈的資料 mvnrnd
由於實驗需要,需要生成兩類模式的資料,同時這兩類資料要服從正態分佈(高斯分佈)。使用matlab來實現:mu = [2 3];SIGMA = [1 0; 0 2];r = mvnrnd(mu,SIGMA,100);plot(r(:,1),r(:,2),'r+');hold
高斯分佈 協方差
高斯分佈(Gaussian Distribution)的概率密度函式(probability density function): 對應於numpy中: numpy.random.normal(loc=0.0, scale=1.0, size=None) 引數的意義為: loc:flo
【學習筆記】Pattern Recognition&Machine Learning [1.2] Probability Theory(2) 基於高斯分佈和貝葉斯理論的曲線擬合
高斯分佈不必贅述,這裡記錄個有意思的東西,即從高斯分佈和貝葉斯理論出發看曲線擬合(即選擇引數w)。 首先假設我們使用多項式擬合曲線,根據泰勒展開的方法,我們可以用有限項多項式在一定精度內擬合任何曲線。 &nb
機器學習儲備(2):高斯分佈
今天講解獨立同分布的概念,高斯分佈,一維高斯分佈。 1、獨立同分布 指隨機過程中,任何時刻的取值都為隨機變數,如果這些隨機變數服從同一分佈,並且互相獨立,那麼這些隨機變數是獨立同分布。 先說說獨立這個概念。在預測德克薩斯州區域的房屋價值時,房屋樣本x1和樣本x2之間的預測是相互獨立的,它
廣義高斯分佈(GGD)
廣義高斯分佈(GGD)-Generalized Gaussian Distribution 廣義高斯分佈及其在影象去噪的應用_百度文庫 https://wenku.baidu.com/view/2b86384c852458fb770b5651.html &n
到現在才理解高斯分佈的均值與方差為什麼是0和1
問題的來源,如圖所示:為什麼標準正態分佈的期望值0,方差為1呢,如果是針對x變數,期望值為0可以理解,那麼方差為1怎麼理解呢,顯然不可能為1,如果針對y變數,顯然所有值都大於0,怎麼會期望值會大於0呢: 先看數學期望的定義: 期望值本身是對所有值進行加權的過程,是針對一個變數存在的;每
概率分佈---高斯分佈
條件高斯分佈 邊緣高斯分佈 高斯變數的貝葉斯定理 高斯分佈的最大似然估計 順序估計 高斯分佈的貝葉斯推斷 學生t
多元高斯分佈
多元高斯分佈 1.協方差矩陣 協方差衡量的是變數X與Y之間是否存線上性關係,cov(X,Y)>0說明X與Y的變化趨勢是一致的,X增長的時候Y也隨著增長。如果X,Y互相獨立的話,cov(X,Y)=0. cov(X,X)=D(X),變數X與自身的協方差就是方差,cov(X,Y)=cov
多元高斯分佈的KL散度
kl散度意義: In the context of machine learning, is often called the information gain achieved if Q is used instead of P. This reflects