Skip to content

Instantly share code, notes, and snippets.

@PolarNick239
Created February 2, 2024 15:24
Show Gist options
  • Save PolarNick239/f34ff688833edc08b9569cefd6e04413 to your computer and use it in GitHub Desktop.
Save PolarNick239/f34ff688833edc08b9569cefd6e04413 to your computer and use it in GitHub Desktop.
Gaussian kernels
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"import numpy as np\n",
"from scipy import signal\n",
"from scipy.fftpack import fft, fftshift\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def show_gaussian_kernel_values(window):\n",
" print(\"kernel weights: \", window)\n",
" window = np.float64(window) / np.max(window)\n",
" plt.plot(window)\n",
" plt.title(r\"Gaussian window\")\n",
" plt.ylabel(\"Amplitude\")\n",
" plt.xlabel(\"Sample\");\n",
" print(\"kernel weights: \", window)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def show_gaussian_kernel(ksize, sigma):\n",
" window = signal.gaussian(ksize, std=sigma)\n",
" plt.plot(window)\n",
" plt.title(r\"Gaussian window (size={}, $\\sigma$={})\".format(ksize, sigma))\n",
" plt.ylabel(\"Amplitude\")\n",
" plt.xlabel(\"Sample\");\n",
" print(\"kernel weights: \", window)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"kernel weights: [1, 5, 10, 10, 5, 1]\n",
"kernel weights: [ 0.1 0.5 1. 1. 0.5 0.1]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_gaussian_kernel_values([1, 5, 10, 10, 5, 1])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"kernel weights: [ 0.13533528 0.48675226 0.92311635 0.92311635 0.48675226 0.13533528]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ksize=6\n",
"sigma=0.3*((ksize-1)*0.5 - 1) + 0.8 # taken from getGaussianKernel() in OpenCV\n",
"show_gaussian_kernel(ksize, sigma)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"kernel weights: [1, 4, 6, 4, 1]\n",
"kernel weights: [ 0.16666667 0.66666667 1. 0.66666667 0.16666667]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_gaussian_kernel_values([1, 4, 6, 4, 1])"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"kernel weights: [ 0.1914952 0.66151466 1. 0.66151466 0.1914952 ]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ksize=5\n",
"sigma=0.3*((ksize-1)*0.5 - 1) + 0.8 # taken from getGaussianKernel() in OpenCV\n",
"show_gaussian_kernel(ksize, sigma)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"kernel weights: [ 3.35462628e-04 5.97602290e-03 5.61347628e-02 2.78037300e-01\n",
" 7.26149037e-01 1.00000000e+00 7.26149037e-01 2.78037300e-01\n",
" 5.61347628e-02 5.97602290e-03 3.35462628e-04]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sigma=1.25\n",
"ksize=math.floor(sigma*8 + 1.5)\n",
"ksize=(ksize + 1) if ksize % 2 == 0 else ksize\n",
"show_gaussian_kernel(ksize, sigma)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"kernel weights: [ 3.26202103e-05 1.34471895e-03 2.42580135e-02 1.91495195e-01\n",
" 6.61514656e-01 1.00000000e+00 6.61514656e-01 1.91495195e-01\n",
" 2.42580135e-02 1.34471895e-03 3.26202103e-05]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sigma=1.10\n",
"ksize=math.floor(sigma*8 + 1.5)\n",
"ksize=(ksize + 1) if ksize % 2 == 0 else ksize\n",
"show_gaussian_kernel(ksize, sigma)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment