Files
digital_video_introduction/dct_experiences.ipynb
2021-07-26 16:49:08 +01:00

172 lines
93 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Image in spatial and frequency domain"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from scipy import fftpack\n",
"import matplotlib.image as mpimg"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# loading image\n",
"img = mpimg.imread('i/super_mario_head.png')\n",
"\n",
"choosen_y_x = 90\n",
"resolution = 128\n",
"\n",
"# 128 x 128 slice (power of 2)\n",
"img_slice = img[choosen_y_x:(choosen_y_x + resolution), choosen_y_x:(choosen_y_x + resolution), 2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# DCT freq and Inversed DCT image"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7eff2b4128d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# transform: 2D DCT\n",
"dct_slice = fftpack.dct(fftpack.dct(img_slice.T, norm='ortho').T, norm='ortho')\n",
"# inverse transform: 2D DCT\n",
"idct_slice = fftpack.idct(fftpack.idct(dct_slice.T, norm='ortho').T, norm='ortho')\n",
"\n",
"f, (plt1, plt2, plt3) = plt.subplots(1, 3)\n",
"\n",
"plt1.axis('off'); plt1.set_title('Zoomed DCT Freq'); plt1.imshow(dct_slice[0:20,0:20], cmap='gray', interpolation='nearest');\n",
"plt2.axis('off'); plt2.set_title('Inverse DCT Freq'); plt2.imshow(idct_slice, cmap='gray');\n",
"plt3.axis('off'); plt3.set_title('Original'); plt3.imshow(img_slice, cmap='gray');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Discarding 80% of the coefficients"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"80% of the coefficients were discarded.\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7eff29187a90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# copying dct\n",
"dct_slice_copy = np.copy(dct_slice)\n",
"\n",
"# only below the top left triangle to retain the lowest frequency\n",
"triangle = (50/100) * resolution\n",
"\n",
"# only discard greater than threshold\n",
"threshold = 0.0019\n",
"\n",
"discarded_coefficients = 0\n",
"\n",
"for x in range(resolution):\n",
" for y in range(resolution):\n",
" if ((x + y) > triangle) and (abs(dct_slice_copy[x, y]) > threshold):\n",
" dct_slice_copy[x, y] = 0\n",
" discarded_coefficients += 1\n",
"\n",
"# 2D inverse DCT \n",
"idct_slice = fftpack.idct(fftpack.idct(dct_slice_copy.T, norm='ortho').T, norm='ortho')\n",
"\n",
"f, (plt1, plt2) = plt.subplots(1, 2)\n",
"\n",
"plt1.axis('off'); plt1.set_title('Original'); plt1.imshow(img_slice, cmap='gray', interpolation='nearest')\n",
"plt2.axis('off'); plt2.set_title('Inverse Discarded DCT Freq'); plt2.imshow(idct_slice, cmap='gray', interpolation='nearest')\n",
"\n",
"\n",
"print(\"%d%% of the coefficients were discarded.\" % ((discarded_coefficients / (resolution*resolution)) * 100))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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
}