{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Digital Image Processing\n", "\n", "This notebook provides a basic explanation of digital image representation and simple examples of fundamental functions for image processing using Python and Open CV." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import necessary libraries\n", "import cv2\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Step 1: Load an image from a file" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "image_path = 'images/chess_board.bmp'\n", "# Source: https://commons.wikimedia.org/wiki/File:Affine_Transformation_Original_Checkerboard.jpg\n", "\n", "# image_path = 'images/Lena.png'\n", "# Image of Lena Forsén used in many image processing experiments\n", "# Source: https://en.wikipedia.org/wiki/Lenna\n", "\n", "original_image = cv2.imread(image_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Step 2: Display the loaded image in its original format" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAGrCAYAAADn6WHYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAHIBJREFUeJzt3QtwXGXZwPFnk82tufWWJr3YK7WAwtAWVKiIVWhHuY8VR0ChYFERpbUw4wi2iqKoY63jwICXUZii4xTQERhRCpXWwQut1ArI1LZJm7TN/X7ZJJvdb573czNJW9pteKD7pP/fzE6adLM5e87u+z/vObtJJJlMJgUAgDcp683eAAAAiqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgICN8/etfl0gkMqLv/eUvfxm+t6qqSt4qetv6M/RnATg6goI35dVXX5Xrr79epk6dKnl5eTJlyhS57rrrwtdPRX/+859DeB577LGTvSjA246gYMSeeOIJWbBggTz33HOyfPlyeeCBB+Tmm2+WzZs3h6//9re/Tfu27r77bunp6RnRcnzqU58K3ztjxowRfT8AG1Gj28EpZs+ePWEgnz17tmzZskXKysoG/+/222+XCy+8MPz/zp07w3XeSFdXlxQWFko0Gg2XkcjOzg4XACcXMxSMyPe//33p7u6Wn/zkJ8NioiZOnCgPPfRQiMX3vve9I86TvPbaa3LttdfKuHHj5P3vf/+w/xtKZx1f+tKXwu0VFxfLFVdcIQcOHAjX0+sf6xzKzJkz5bLLLpO//OUv8p73vEfy8/ND2B555JFhP6O5uVnuuOMOOeuss6SoqEhKSkrkIx/5iPzrX/8yW1ep+7Zr165weLC0tDSss6997Wuiv+y7urparrzyyvCzKyoq5Ac/+MGw7+/r65M1a9bIwoULw/dqgDXYOhM8XFNTUwi53tbYsWPlhhtuCPflaOd/Xn/9dVm2bJmMHz8+rJ9zzz1Xfv/735vdb5x6CApG5MknnwyDtg5sR/OBD3wg/P/TTz99xP99/OMfDzH69re/LStWrHjDn3HjjTfKj3/8Y/noRz8q3/3ud6WgoEAuvfTStJdx9+7dYcC85JJLwiCtAdPbHHp+Z+/evfK73/0uxGfdunVy5513yr///W+56KKL5ODBg2LpE5/4hCQSCbnvvvvkve99r3zrW9+S9evXh+XTc1B6H0877bQQOJ31pbS3t8vPfvYz+eAHPxiuo4FqaGiQpUuXyo4dOwavp7d9+eWXy69//esQknvvvVcOHToU/n04XQfve9/75D//+Y985StfCetHQ3XVVVed0KFKYBj9eyjAiWhtbdW/oZO88sorj3m9K664Ilyvvb09fL527drw+Sc/+ckjrpv6v5Tt27eHz1euXDnsejfeeGP4ul4/5Re/+EX4WmVl5eDXZsyYEb62ZcuWwa/V19cn8/LykqtXrx78WiwWSw4MDAz7GXo7er177rln2Nf09vRnHcvmzZvD9TZu3HjEfbvlllsGvxaPx5PTpk1LRiKR5H333Tf49ZaWlmRBQUHyhhtuGHbd3t7eYT9Hr1deXp686aabBr/2+OOPh5+zfv36wa/pffvQhz50xLJ/+MMfTp511lnh/qckEonkBRdckJw7d+4x7yPwRpih4IR1dHSEj3oY6lhS/6972EN97nOfO+7PeOaZZ8LHW2+9ddjXv/jFL6a9nGeeeeawGZQeZpo3b16YlaToK9Oysv7/aTAwMBAOGemhL73eP//5T7H0mc98ZvDfes5HDzHpIS99IUOKHqY6fBn1urm5uYOzED1MF4/Hw/cPXUZdZzk5OcNmfXrfvvCFLwxbDv3+559/Xq655pqwLRsbG8NF77vOev773/+GQ4vAieKkPE5YKhSpsJxoeGbNmnXcn7Fv374wGB5+XT0klK7p06cf8TU97NXS0jL4uQ7QP/rRj8Ir1CorK0NUUiZMmJD2zxrJ8uj5ED13oeeIDv+6Du5DPfzww+GwlJ736O/vH/z60PWj62zy5MkyZsyYY64zPRSoIdNzOHo5mvr6+nAYDjgRBAUnTAc8Hbj0FVzHov+vg5KeIB5Kz4W8Hd7olV9D/+q1nsfRQfWmm26Sb37zm+EEtYZs5cqVITZv9fKks4wbNmwI5370/Iae45k0aVL4vu985zvh1XYnKnW/9FyNzkiO5kTCDaQQFIyInsT+6U9/Gl5FlXql1lBbt24Nr7r67Gc/O6Lb1/eU6MCns4a5c+cO27u2pG9AXLx4sfz85z8f9vXW1tYjZg4niy6jvkJN3/cz9JVwa9euPWKd6Su/9AUPQ2cph6+z1Mu49fDYxRdf/JYvP04dnEPBiOiess40NBiHH57RY/R6nkQHNb3eSKT2nPVQ1FD6qi9Luqc/dDagNm7cmFHnEFKzmKHL+fe//13++te/HrHO9HCYhj5Fo3z//fcPu57OcPQVY/rSbn0V2OH0FWTASDBDwYjorEGP6+uvWdH3cOiJZT2er7MS3dvXk7z68tU5c+aM6Pb1PRcf+9jHwstqNVj6EtcXXnghvJdDjfT3fh1tpnXPPfeEd/pfcMEF4SXDjz766DHfjPl202XU2cnVV18dXjats7YHH3wwvOigs7Nz8Hp6SEzfc7N69eowKzn99NPD+0o08IevM42Mzix12+lJfL2/dXV1IVI1NTWm78PBqYOgYMT0/SQ6aOmx/FRE9ES2HkL66le/Ku9+97vf1O3rmxD1jX4aJn1vhB6e+c1vfhNeBaUnsy3ocuobMH/1q1+F29ZfGaPvndH3ZmQKPX9SW1sbZhR//OMfQ0j0vIrOpPR3hw2dyeiy628q0NjruSCNkB4aW7Ro0bB1prexbds2+cY3vhHe8KjR1pnL/Pnzw5sogZGI6GuHR/SdwEmgb+TTQU8HVJ0d4fj0jZsaFj3fpWEB3iqcQ0HGOtovi9RDYLrnre/Ex/HXmb4MWs876SvtdPYFvJU45IWMpb8HbPv27eEQmv7iyD/84Q/hcsstt8g73vGOk714GUnf+KlROf/886W3tzece3nxxRfDy6Pfrpdr49TFIS9krGeffTYc49dfJqknn/WNgfqLD++6664R/2bi0U7PBekbIPWkfCwWC+8n+fznPy+33XbbyV40nAIICgDABOdQAAAmCAoAwARBAQCYSPvMptU7k99O+m5r/YuCXl8uqb+TSd9kpn/4yeupLv11IPqubv1jWx7pmzX1jYJ6sturJUuWhJPyh/+STi/0D53pCw30FX8eRSKR8MfV9Lcx6J9L8Er/6NzxMEMBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmIja3AyATJZMJsNFRSIR8SC1vKmPo0HS0TYYyXonKMAo19XVJQcPHpTu7m4ZN26c5Ofniwe6vK2trVJbWyu9vb3iWUdHhxw4cEAKCwvDNsjNzRUvy93e3p52XAgKMMp1dnbKvn37wuCgMfESlNRy19fXS09Pj3jW1tYmVVVVMnbs2BAVL0HR5dZtkEgkbIOyYMEC8Wb69Omyf/9+t1Pm/v5+iUajYd17vQ+TJk2SXbt2SVNTk3ikg3BeXp7MnTtXvCopKQmDss5UsrKywuce6GOmpqYmhGXixIlh2T2KRCLhMaSzRH086f0YM2aMZDodc+rq6sJypxuUSDLNkWr79u3ijZb1kUcekerqavEoJydHrrrqKrn44otdHHM9mldffVU2bNjgNii6N79o0SLXQdmxY4c888wzEovFwv3Jzs4WD+LxeDjUpXv1l19+ucyZM0c8SiQS8uKLL8rmzZvDv3UbeImj7tSmDjdqWMxmKAsXLhRvtJU6Q3n55ZfFo4KCAlm2bFmYoXh5AB6uoaEhzFA07h7p3vzixYvlne98p3ikz4HKysqwHXTv2Ot9KCsrc7sNEolEGIN0b7+vr09GM5+jFAAg4xAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwEbW5GQCZJJlMSiwWk3g8Hj7q514lEgnp7u6Wjo4Oyc3NDZdIJCIeljsWi0l/f7/09va63gbpIijAKDQwMCC1tbXS1NQUPurg5pUOyDU1NVJYWCjl5eUyZcoUF0Hp/99yt7W1SUNDA0EZqqenR7zRDZqTkyP5+fniUWq5dd1nZfk8Oql7yHl5ea63gQ4Euofp7bGve/QtLS3h8RONRsOevUe67DpD0fuiUdFt4eH5EIvFpL29PSx3X19fWP8elvvNiCTTzOYdd9wh3mhMSktLwwPSKx0Uurq6xCuNSUlJiWRnZ4vXIO7fvz/s6XuiM5LW1tbw2Bk/frxMnTrV7TbQwbi6ulo6OzuluLg4PJ48zFDi8XiIiQawrKxMKioqXAflgQceOO510h5p161bJ94sXLhQHnzwQZk/f754pHuWa9eulfXr17s9ZLF06VK5//77ZebMmeJRY2OjrFq1SjZu3Cge6f7ikiVL5NJLLw2DsUeHDh2SH/7wh7Jt2zYXITmcLvM111wjV199tdtZYrrSDorH43+6zLoxve4VpJ48GhOP61/pcuv697oNUsvtdf2neH8epNa/5+0QcbwN0jW67x0A4G1DUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmojY3AyBTJZNJSSQS4RKJRMLFy3Knlt27pMNtoMusTmT9ExRglOvs7JT9+/fL2LFjZeLEiTJmzBjxstyNjY1SV1cnPT094llbW5vs27dPioqKpKysTPLy8sTLcjc3Nw/G5XgICjDKdXd3y4EDB8KgXFxc7CYoXV1dcvDgQamvr5dYLCaedXR0SE1NjYwbNy6E3UtQ2tvbw3KnO0tJOyhLly4Vb8rLy+WVV14JD0iP4vF4eODpuk93DyHTzJgxQ/7xj3/I66+/Ll4H44KCAjnvvPPEq5KSkjBDaWhoCHv9GhUPWlpaQlA0hNOnT5cJEyaIR5FIJMxM9u7dK4WFhWEb6GMq0+mYozPE2tratMefSDLNa+rK8GbXrl2ybt062b17t3iUm5sry5cvl2XLlrk45no0L730kqxfvz4ctvBI9+Yvu+wyOeecc8Srv/3tb/LYY4+FOObk5EhWlo/X4gwMDISdKg3JtddeK2eccYZ4lEgkZNOmTfLUU0+F+6TbwMvzWZe3v79/MPBmM5TZs2eLN3rsTwtbWVkpHuleTHZ2tsyaNcvNIHC0qB86dCgcP/a6dx+NRmXy5Mnike4vahT10IUedvEoPz8/bAev2yCRSISdQz0f0dfXJ6OZz1EKAJBxCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJiI2twMgEySSCSku7tb+vr6pKurS5LJpHi+Lx0dHdLc3Cz5+flSUFAgkUhEMt3AwEDYBr29veGj522QLoICjEI6mNXW1kpjY2P4qJ971d/fLzU1NSEkU6ZMkWnTprkISv//lrulpSVsB4IyhK4Qbzo7O6WoqEgmTJggHunemD4Idd1nZfk8OtnT0yOlpaVut4E+fnQPua2tTTzRwUwHMt2r11lKcXGx5OTkiEdjxowJjyO9LxoVvS8eng+xWCxsA71o0EtKSiQej8toFkmmmc3rr79evNGB7F3velfYkB7pg3D37t1SVVXldu9m4sSJYRvoQOCRDgovvfSSVFZWisfDRLr8ukev28BrUPRw0c6dO8OOlcZFI+9hhjIwMCDt7e0h6HPmzJF58+a5COEbuffee+1mKI8++qh4s3DhQrn55ptlwYIF4vWJtGbNmrDuvQZl6dKlsnLlSpk5c6Z4pIPY5s2b5dlnnxWvKioq5MILL3S7Y3Xw4EHZunVriIpHkUhEzjzzTFm8eLHk5eXJaOY3lwCAjEJQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDARNTmZgBkqkQiIf39/eGSnZ0tWVlZbpZ7YGBA4vG4JJNJ8SyRSIT7oetfL5FIRDKdrnNdbr2ky8cjC8CIdXR0SGVlpezbt096enrE23JXVVVJd3e3eNbS0iJ79uyR6upq6e3tFS9aW1vDcu/evTut6zNDAUY5jUh9fX3YQ54wYYIUFhaKp+VubGyUvr4+8ay7u1vq6urCLHHixImSn58vHnR1dYVtkO4sJZJMcy756U9/WrwpKSmRM844Q4qLi8Uj3Yi6d7B//363U34dwE4//XQpKCgQj3Rvctu2bWEv2atoNCq5ubnhUlFR4SYobW1tYTDTQViDooe/vMrJyQkXfR5MnjxZ8vLyxIPm5mZpaGgI488TTzxhF5Smpibx5pVXXpG7775bXnvtNfFIH3SrVq2S5cuXuzjmejRbt26VNWvWyIEDB8SjoqIiue666+T8888Xr7Zs2SIPP/ywdHZ2ujl+r1LH7ydNmiQrVqyQs88+WzxKJBLy5JNPysaNG8MsUc9hedsGKp3DjtET2dP0RvfEdMqmlfVI92b0gTd+/Hg3J1IPp1P79vZ2t9sgNQDobNcj3V/UPeNYLObq/MlQOjvRx5HXbZBIJMIsUbeB90N3x+NzlAIAZByCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJqI2NwMgkyQSCeno6JCenh5pa2uTZDIpXg0MDEhLS4vU1dXJmDFjpKioSCKRiGS6eDwetkEsFgsfPW+DdBEUYBTSQVgH4Pr6+nDRz73q7++XAwcOhJhMnTpVCgsL3QTl4MGD0tzcLE1NTQRlqD179og3jY2NUlZWJrNnzxaPcnNzw0Cwd+9eF0+go9G94ylTpkh2drZ4pINYamDwRJe5trY2PAd0QJ40aZL09fWJRzoj0ZmWhlEfR9FoVLKyMv9ofSwWC1FvbW0Nn1dUVLgOezoiyTSzeckll4g3ugGXLl0q5eXl4pEOClu3bpVt27a53buZNWuWLFmyREpLS8Wjrq4ueeqpp2THjh3iiT5euru7Q0TmzZsnixYtkvz8fPGovb1dXnjhBamurg73oaCgQLwcduzu7g7P43POOUfOO++8EEOvVq9efdzrpH3vNm3aJN4sXLhQVq1aJQsWLBCP9MH43HPPhXXvNSga9HPPPVdmzpwpHuke/saNG2X79u3i1WmnnSZnn322lJSUiEc6O3z66afDTN2jSCQSYjJ//nzJy8uT0Szz540AABcICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmIja3AyATDUwMCCxWExyc3MlJydHsrOzxYN4PB4uvb29kkgkZDRsA6XbICsr8/flk8lkWO7+/v60vyfz7xWAN6W9vV327NkjVVVV0t3dLd6Wu7Ky0tVyH01zc7Ps3r1b9u/fHwLpbbl37dplO0PxUNTDRSKRwcp6lNor0z1Kr3toug102b1vA70fXvX19YWBQZWVlbl5LOkevS53a2trmKl43QZZWVnhvjQ1NYV1X15eLnl5eZLpdOzs6ekZXO50RJL6XWm48847xZtoNColJSXho0e6abq6ulzvnelhluLiYjeHWQ6nA1l1dfXggOw1KPo40ueBBqWgoEA86OjoCIOZPg8KCwvDoSKvYrFYGJz1+aDbwEtQ2trawmNf//2nP/3JLiip43+evPzyy3L77bfLzp07xSN94t91111y6623upwhqk2bNsmXv/zlMNX3SHdIVqxYIRdddJF49fzzz8tDDz0knZ2dYS/fy56+Dk16qaiokNtuu03mz58vHiWTSXn88cdlw4YN4XyEl22QSkPqYzrnUtLedc/PzxdvdI8mdVLPo1REdN17DYruFesestdtoMutT34Pe5RHo4OBPnb0kKM+FzzSZdfHkddtkEgk3G+DdPkcpQAAGYegAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICADBBUAAAJggKAMAEQQEAmCAoAAATBAUAYIKgAABMEBQAgAmCAgAwQVAAACYICgDABEEBAJggKAAAEwQFAGCCoAAATBAUAIAJggIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAExEbW4GGN2SyeTgvyORiHha3tFA74/XbZD837KPtm1yNAQFOIZEIiFNTU1SXV0thYWFMm7cOBeDmS53a2urdHV1SXNzc/jcq3g8Lg0NDVJTUyPFxcVSWloqHgwMDIR139PTI21tbXIqICjAMehArINZVVWVlJeXS0lJiWRlZblZ7vr6+vDRe1Dq6uqkqKhIpk2bFraBh6j39/eH5dYdEg3LqTBDyfxnBnASpQ5V6IDsbVDW5da95NEwkKXWv7f7knC63CMVSZ4q9xQA8JZihgIAMEFQAAAmCAoAwARBAQCYICgAABMEBQBggqAAAEwQFACACYICABAL/wfrYCbNrFvy0QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5, 5))\n", "plt.imshow(cv2.cvtColor(original_image, cv2.COLOR_BGR2RGB))\n", "plt.title('Original Image')\n", "plt.axis('off')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A digital image is represented as a matrix that contains the intensity values of its corresponding pixels. In our case, the image is stored as a NumPy array. Color images have 3 channels (Red, Green and Blue), so the array has dimensions (image_height, image_width, 3):" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Image dimensions = (159, 159, 3)\n" ] } ], "source": [ "image_shape = original_image.shape # Get the image size\n", "print(f\"Image dimensions = {image_shape}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Step 3: Display the Red, Green, and Blue channels as 3 independent images\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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LbOTXzK/7/u+r9LtJBte+cpXqh/8wR+MijpS/BDSf8svx9JHS8FKRoj/6I/+SD3yyCPRL8txXy4zjV73utdF9yH9seSGLOmT+5Njk39ESDFHjpPnKI/11a9+NZrJJMWeN73pTbnPUfr1jRs3Rn3zkUceqf3afuM3fiPKzZtuuinKUSmkSZ//uc997vAx8hqlCCa//MtXGf1+3/veF2XBRz7ykTH3J0U3KRJJnkkmff7zn1fvfOc71bnnnhuN8Cfdcccd0ewyKaxt2bIlykEp6kmhKSaPJbeTP5zkOcrxUjiUgaIHH3xwXCENAHwgfd6GDRuipXbPPfec+uhHPxoVemSvWFOksP/e97436otldYgUbORx5G8WyR4pduWRJX9SvKmyNFvn7wsZZP+v//qvqAAmgw6SO5KHMnAhgxZxvlbJKCGDFjLRQP5OkbyVgXIp0kl2SAFMSPbKwIUM7kh+y99t8lxuuOGGaEm63DcQGQLD4fDuu+8eyo/DV7/61eH69euHq1atGn7+858fzpo1a3jUUUdF38de9rKXDc8999zh7t27D1928ODB4Utf+tLhaaeddviyt771rdF9PvTQQ4cve+6554ZTp06NLl+2bFnu8/n2t78dHXP99ddrPX+5Lzl+xowZw40bNx6+/IEHHogu/+IXv3j4sp07d467/Wc/+9nouK9//euHL7vpppuiy66++uoxx1566aXR4yTJcRMnThwuWbJk3Gv46Ec/eviya665Zjhnzpzhhg0bxtz+iiuuiNolfm7x65H3BQBctWXLlqives1rXjPuuk2bNkV5Ev9L9r2ve93rotu9613vGnObBx98MLr8M5/5zJjLv/KVr4y5fNu2bcNp06YNr7vuujHHPfvss1Ffmrw8fqybb755zLEvfvGLhxdddFHh67vzzjuj295///2VsvTlL395lIux3/zN3xweeeSRw82bNxdm0Rve8IbhpEmTxuTrJZdcEt3nvffee/iyPXv2DE844YThZZdddviyr33ta9FxZ511VnR9+jU89thj0ffyvCSrX/nKV455jvJ8Tj755OErXvGKca+nKK8BoGtxX5X+J3/D3HPPPeOOl+vk9/xkTixYsGDccfHfArHly5dHffltt9025jjpX0dGRsZdnpWXr371q7Vfl+7fF1l58o1vfGNcdlTJKGmP9N9G8nectOnb3/72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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "r_channel, g_channel, b_channel = cv2.split(original_image)\n", "\n", "plt.figure(figsize=(15, 5))\n", "\n", "plt.subplot(1, 3, 1)\n", "plt.imshow(r_channel, cmap='gray')\n", "# plt.imshow(r_channel, cmap='Reds_r')\n", "plt.title('Red Channel')\n", "plt.axis('off')\n", "\n", "plt.subplot(1, 3, 2)\n", "plt.imshow(g_channel, cmap='gray')\n", "# plt.imshow(g_channel, cmap='Greens_r')\n", "plt.title('Green Channel')\n", "plt.axis('off')\n", "\n", "plt.subplot(1, 3, 3)\n", "plt.imshow(b_channel, cmap='gray')\n", "# plt.imshow(b_channel, cmap='Blues_r')\n", "plt.title('Blue Channel')\n", "plt.axis('off')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Step 4: Convert the original image to grayscale and display it\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gray_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)\n", "\n", "plt.figure(figsize=(5, 5))\n", "plt.imshow(gray_image, cmap='gray')\n", "plt.title('Grayscale Image')\n", "plt.axis('off')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The gray scale image is also an array, but it only has one chanel (gray). Therefore, the dimensions of the array are now (image_height, image_width):" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(159, 159)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gray_image.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our image array is composed by 8-bit integer numbers: \n", "- 0 = lowest intensity (black)\n", "- 255 = highest intensity (white - for a gray scale image)\n", "\n", "Check the content around the center of the array:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pixels: (74:84, 74:84)\n", "[[ 0 0 0 0 0 192 192 192 192 192]\n", " [ 0 0 0 0 0 192 192 192 192 192]\n", " [ 0 0 0 0 0 192 192 192 192 192]\n", " [ 0 0 0 0 0 192 192 192 192 192]\n", " [ 0 0 0 0 0 192 192 192 192 192]\n", " [255 255 255 255 255 0 0 0 0 0]\n", " [255 255 255 255 255 0 0 0 0 0]\n", " [255 255 255 255 255 0 0 0 0 0]\n", " [255 255 255 255 255 0 0 0 0 0]\n", " [255 255 255 255 255 0 0 0 0 0]]\n" ] } ], "source": [ "y1 = int(image_shape[0]/2 - 5)\n", "y2 = int(image_shape[0]/2 + 5)\n", "x1 = int(image_shape[1]/2 - 5)\n", "x2 = int(image_shape[1]/2 + 5)\n", "\n", "print(f'Pixels: ({y1}:{y2}, {x1}:{x2})')\n", "print(gray_image[y1:y2,x1:x2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Step 5: Apply a smoothing filter (convolution with a mask) to the grayscale image\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAGrCAYAAADn6WHYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbtlJREFUeJztvQmsNVlVPV5v+OaJbqCRhu5mEhEQIYgGjEF+iKgIKhoENaDgFJWgUYzGAYFIEDRgABWcgxoQUeLEIIoxKhKcCAZREQQBBelu+pun9+4/q3jr/dfb3zk13Ft1dt1390rq1X1169Y9Z+9z9nzOXZvNZrMqEAgEAoEFsb7oAwKBQCAQAEKhBAKBQGAQhEIJBAKBwCAIhRIIBAKBQRAKJRAIBAKDIBRKIBAIBAZBKJRAIBAIDIJQKIFAIBAYBKFQAoFAIDAIQqEEVgZra2vV933f943+PX/5l39ZfxfOgcAqIRRKIIn3vve91Td8wzdUt9xyS3X48OHqHve4R/W4xz2uesUrXlFNGX/7t39b/dRP/VT16U9/upo6fuM3fqNWPH//93/v3ZRAYBCEQgkkhfIXfMEXVO95z3uq7/iO76he+cpXVt/+7d9era+vVz//8z9fTb3tz3/+85dCoQQC+w2b3g0ITA8//dM/XZ06dap697vfXd3pTnfa894nP/lJt3YFAoFpIzyUwDX4z//8z+pBD3rQNcoEuOGGG5J5iTe84Q3VAx/4wOrIkSPVIx/5yDpkBrz61a+u7ne/+9Vhsy/90i+t/uu//uuaZ+KzD3/4w+vP3uUud6m+5Vu+pfrYxz52zX1/8Rd/UX3Jl3xJdezYsbptX/M1X1P967/+6+77CHU997nPrV/f+973rtuGw37nm970purBD35wdejQobqfb3nLW675Lnz/M5/5zOpud7vb7n2/9mu/ds19H/3oR6uv/dqvrdsE2vzAD/xAdenSpWpefOu3fmt1/Pjx6iMf+Uj11V/91fVrhBtf9apX1e+Drv/v//2/+vsQjvyd3/mdPZ+/7bbbqh/6oR+qPu/zPq/+7MmTJ6uv/MqvrL1Niw9/+MPVk570pD1tf+tb35rM/7zrXe+qvuIrvqI2NI4ePVo9+tGPrv7mb/5m7n4G9imwfX0goPjyL//y2YkTJ2bvfe97W+/FEHrIQx4yu+mmm2YvfvGL6+PUqVOzm2++efbKV75y9sAHPnD2cz/3c7Mf//Efnx08eHD2mMc8Zs/nf/3Xf71+xiMe8YjZy172stmP/MiPzI4cOTK7173uNbv99tt37/uzP/uz2ebm5uz+97//7CUvecns+c9//uwud7nL7Lrrrpt96EMfqu95z3veM3va055WPw/Peu1rX1sfZ8+e3W3r53/+58/ufve7z174whfOXv7yl8/uc5/7zI4ePTr71Kc+tftd//u//zu75z3vWffpBS94wewXf/EXZ0960pN2n0ucP3++bs/hw4dnP/zDP1w/7+EPf3hND9z7jne8o5F27Pu73/3u3WvPeMYz6ueBbt/93d89e9WrXjV71KMeVd+H+2+88cbZc5/73NkrXvGK2YMe9KDZxsbG7IMf/ODu5/Gs+973vjUdX/3qV9ftv8c97lHz5GMf+9jufaAJ+g5a4160/Qu/8Atr+ti2//mf/3nNu0c+8pE1L0ED9BHX3vWud7WOkcDqIBRK4Bq87W1vqwUVDggRCMu3vvWts8uXL19zL4TPoUOHdoU6AEGG65/1WZ81O3369O71H/3RH62v814874Ybbpg9+MEPnl24cGH3vj/+4z+u7/vJn/zJ3WsPfehD63tvvfXW3WtQIOvr67OnP/3pu9de+tKX7vkO21YIwQ984AN7noHrENDEs571rFrpqJIBnvrUp9aCGYoEgBDGZ3/3d393955z587N7ne/+y2kUHDtRS960e41KFYI/rW1tdnrXve63evvf//763uf97zn7V67ePHibGtra8/3gBbgEZQLAcWAz77pTW/avQYePOABD9jT9u3t7dlnf/Znzx7/+MfXrwnQ4N73vvfscY97XGMfA6uFCHkFrgGqud75znfW4RCESl7ykpdUj3/84+vQyx/+4R9ec/9jH/vY6l73utfu/1/0RV9Un7/+67++OnHixDXXP/jBD9ZnVDchJ/M93/M9dUiMeMITnlA94AEPqP7kT/6k/v9//ud/qn/+53+uw0HXX3/97n0PechD6rb+6Z/+aee+fdmXfVl13/ved88zEBZim6B33vjGN1ZPfOIT69ef+tSndg/Q4I477qj+8R//sb4X33v3u9+9roYjEA76zu/8zmpRoAiCQHjvcz7nc+rQ1FOe8pTd67iG99h2AOE5FE8AW1tb1a233lqHvnAv2w0gzAd+gscEeIAiDAXo/h//8R/V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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "kernel_size = 9\n", "smoothed_image = cv2.GaussianBlur(gray_image, (kernel_size, kernel_size), 0)\n", "\n", "plt.figure(figsize=(5, 5))\n", "plt.imshow(smoothed_image, cmap='gray')\n", "plt.title('Smoothed Image')\n", "plt.axis('off')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check the values of the same pixels around the center of the image:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0 3 13 35 74 119 157 179 189 192]\n", " [ 4 7 16 38 75 118 155 177 186 189]\n", " [ 17 19 28 47 79 117 149 168 177 179]\n", " [ 47 49 54 67 89 115 137 149 155 157]\n", " [ 98 98 99 101 106 111 115 117 118 119]\n", " [157 156 152 142 125 106 89 79 75 74]\n", " [208 205 197 176 142 101 67 47 38 35]\n", " [238 235 223 197 152 99 54 28 16 13]\n", " [251 247 235 205 156 98 49 19 7 3]\n", " [255 251 238 208 157 98 47 17 4 0]]\n" ] } ], "source": [ "print(smoothed_image[y1:y2,x1:x2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Step 6: Apply Sobel filter to get the contours" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sobel_x = cv2.Sobel(gray_image, cv2.CV_64F, 1, 0, ksize=5)\n", "sobel_y = cv2.Sobel(gray_image, cv2.CV_64F, 0, 1, ksize=5)\n", "sobel_magnitude = np.sqrt(sobel_x**2 + sobel_y**2)\n", "\n", "plt.figure(figsize=(5, 5))\n", "plt.imshow(sobel_magnitude, cmap='gray')\n", "plt.title('Sobel Filtered Image')\n", "plt.axis('off')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Conclusion and Homework\n", "\n", "After completing this notebook, you should understand the basics of digital image representation, and how to use OpenCV functions to execute simple image processing.\n", "\n", "Now, go back to step 1, change the image path to `image_path = 'images/Lena.png'` and run all the steps again to see the results of the same functions on a real picture!\n", "\n", "Then, check [this example code](https://github.com/felipenmartins/Robotics-Simulation-Labs/blob/main/Lab2/line_following_with_camera.py) to see how the functions studied here can be used to control a line-following robot. Finally, run the code on Webots and try to replace the _if-then-else_ controller with a PID for a smooth performance.\n", "\n", "Have fun!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Back to the [main page](README.md)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "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.13.5" } }, "nbformat": 4, "nbformat_minor": 2 }