SIFT 알고리즘에 대한 연구 논문을 쓰고 있는데, 이산 프로세스를 설명하기 전에 연속 함수의 컨텍스트에서 가우시안 블러 개념을 설명하는 데 도움이되는 그래픽을 만들고 싶습니다. 내가 만들고자하는 그래픽은 사인 함수와 컨 벌브 된 표준 가우스의 그래프입니다. 나는 가우시안 (Gaussian)을 음모를 꾸밀 수 있고, 나는 사인을 그릴 수 있지만, 나는 그 회선을 어떻게 그릴지를 모른다. 나는 그것들을 그려 내기 위해 그들의 회선 (convolution)을 계산하는 방법을 모르며, 내가 그 플롯에서 회선 연산자 (convolution operator)를 사용할 수있는 소프트웨어를 모른다. 나는 tikz와 gnuplot에 익숙하지만, 어느 쪽이든 이것을하는 방법을 모른다. 내가 이것에 관해 어떻게 갈 수 있는지에 대한 제안은 크게 감사 할 것입니다. 감사.가우시안 컨볼 루션 그래프 플로팅
0
A
답변
0
당신은 여기에 출력을 참조하십시오 파이썬의하기 matplotlib를 사용
다음 코드__author__ = 'kgeorge'
import os
import numpy as np
import math
import matplotlib.pyplot as plt
from matplotlib import gridspec
#create gaussian for the x values in x-axis
def create_gaussian(x_axis):
sigma = 1.0
denom = math.sqrt(2 * math.pi) * sigma
twoSigmaSq = 2.0*sigma**2
e=np.zeros_like(x_axis)
for i,x in enumerate(x_axis):
e[i]=math.exp (-(x*x)/twoSigmaSq)
e = e/denom
return e
def main():
#x_axis
sz=100
halfW = int(sz/2)
x_axis=np.linspace(-halfW, halfW, 1000)
#cos fun
cos_f=np.cos(x_axis)
#gaussian
gaussian_f=create_gaussian(x_axis)
fig = plt.figure()
gs = gridspec.GridSpec(3, 1)
ax1 = fig.add_subplot(gs[0,0])
ax1.plot(x_axis, cos_f)
ax1.set_title('cos')
ax2 = fig.add_subplot(gs[1,0])
ax2.plot(x_axis, gaussian_f)
ax2.set_title('gaussian')
ax3 = fig.add_subplot(gs[2,0])
convolved_ret=np.convolve(cos_f, gaussian_f, mode='same')
ax3.plot(x_axis, convolved_ret)
ax3.set_title('cos convolved with gaussian')
gs.update(wspace=0.5, hspace=0.5)
plt.show()
'옥타브'와 같은 프로그램을 사용하여 회선 계산을합니다. 또는 함수 솔루션으로 케이스에 분석 솔루션을 그려보십시오. – Christoph