Created
December 11, 2020 04:25
-
-
Save mazino2d/a3efb383d074dea5e99202e431f13f70 to your computer and use it in GitHub Desktop.
khoidd/cv-practice/hough-transform.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "###### Implement candy algorithm" | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2020-12-11T04:23:30.907586Z", | |
"end_time": "2020-12-11T04:23:33.826578Z" | |
}, | |
"code_folding": [ | |
6, | |
65 | |
], | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "import numpy as np\nimport cv2\nimport matplotlib.pyplot as plt\n\n\ndef detect_egde_canny(img, is_l2_grad=True, sobel_size=3, min_val = 100):\n # noise reduction \n smooth_img = cv2.GaussianBlur(img, ksize=(5, 5), sigmaX=1, sigmaY=1)\n\n # gradient of the image\n gx = cv2.Sobel(smooth_img, cv2.CV_64F, 1, 0, ksize=sobel_size)\n gy = cv2.Sobel(smooth_img, cv2.CV_64F, 0, 1, ksize=sobel_size)\n\n if is_l2_grad:\n edge_gradient = np.sqrt(gx*gx + gy*gy)\n else:\n edge_gradient = np.abs(gx) + np.abs(gy)\n\n angle = np.arctan2(gy, gx) * 180 / np.pi\n\n # round angle to 4 directions\n angle = np.abs(angle)\n angle[angle <= 22.5] = 0\n angle[angle >= 157.5] = 0\n angle[(angle > 22.5) * (angle < 67.5)] = 45\n angle[(angle >= 67.5) * (angle <= 112.5)] = 90\n angle[(angle > 112.5) * (angle <= 157.5)] = 135\n\n # non-maximum suppression\n keep_mask = np.zeros(smooth_img.shape, np.uint8)\n for y in range(1, edge_gradient.shape[0]-1):\n for x in range(1, edge_gradient.shape[1]-1):\n area_grad_intensity = edge_gradient[y-1:y+2, x-1:x+2] # 3x3 area\n area_angle = angle[y-1:y+2, x-1:x+2] # 3x3 area\n\n current_angle = area_angle[1,1]\n current_grad_intensity = area_grad_intensity[1,1]\n\n if current_angle == 0:\n if current_grad_intensity > max(area_grad_intensity[1,0], area_grad_intensity[1,2]):\n keep_mask[y,x] = 255\n else:\n edge_gradient[y,x] = 0\n elif current_angle == 45:\n if current_grad_intensity > max(area_grad_intensity[2,0], area_grad_intensity[0,2]):\n keep_mask[y,x] = 255\n else:\n edge_gradient[y,x] = 0\n elif current_angle == 90:\n if current_grad_intensity > max(area_grad_intensity[0,1], area_grad_intensity[2,1]):\n keep_mask[y,x] = 255\n else:\n edge_gradient[y,x] = 0\n elif current_angle == 135:\n if current_grad_intensity > max(area_grad_intensity[0,0], area_grad_intensity[2,2]):\n keep_mask[y,x] = 255\n else:\n edge_gradient[y,x] = 0\n\n canny_mask = np.zeros(smooth_img.shape, np.uint8)\n canny_mask[(keep_mask>0) * (edge_gradient>min_val)] = 255\n \n return canny_mask\n\nif True and \"Test\":\n #img = cv2.imread(\"images/dog.jpg\")\n img = cv2.imread(\"images/shapes.jpg\")\n img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n plt.imshow(img)\n plt.show()\n plt.show()\n #img = cv2.imread(\"images/dog.jpg\")\n img = cv2.imread(\"images/shapes.jpg\")\n img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n plt.imshow(detect_egde_canny(img), cmap=\"gray\")\n plt.show()", | |
"execution_count": 2, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWIAAAD8CAYAAABNR679AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAi+ElEQVR4nO3da3Bc533f8e9/sbiDxIUgIQjgBQQBXsQrCOhi2Uoi0Y7sZiJ3xknsZhrFVUczrdMmcWYSOZlppu2buM3EiScdJ5rIqdxxfani1hqPW4m6JB7bI5IACQICQVwIAQRBEABxWRIEicvi6QscUBBFiiR2sc9efp8ZDs4+5+yePw53fzj7nHOeY845RETEn5DvAkREMp2CWETEMwWxiIhnCmIREc8UxCIinimIRUQ8S3gQm9nTZtZlZr1m9kKi1y8ikmwskecRm1kW0A18ErgAnAC+4Jw7k7AiRESSTKL3iB8Gep1zfc65OeC7wDMJrkFEJKmEE7y+KmBwxeMLwCMrFzCz54Hng4eHE1SXiMhau+yc23i7GYkO4rtyzr0IvAhgZm7Xrl3U1NSQl5fnuTIRkftz/fp15ufneeutt3DODdxpuUQH8RCwecXj6qDtjkpKSohEIrS0tKxpYSIi8WZmPP3004RCIaLR6B2XS3QQnwDqzKyGpQD+PPAvPuoJoVCI6elpRkdHE1GfiEjc5OTkcC8nRCQ0iJ1zC2b2O8BrQBbwTedcRyJrEBFJNgnvI3bO/Rj4caLXKyKSrHRlnYiIZwpiERHPFMQiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMwWxiIhnCmIREc8UxCIinimIRUQ8UxCLiHimIBYR8UxBLCLimYJYRMQzBbGIiGcKYhERzxTEIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZwpiERHPFMQiIp4piEVEPFMQi0jc7NixgyNHjmBmvktJKQpiEYmLwsJC6urquHz5MrW1tb7LSSkKYhGJi8OHD3P8+HHa29upq6sjJyfHd0kpQ0EsIjHbtGkTi4uLjI+PE41GaW9vZ//+/b7LShmrDmIz22xmb5vZGTPrMLPfDdrLzOyomfUEP0uDdjOzr5tZr5m1mVlDvH4JEfEnFArR0NBAS0vLzbahoSFKSkpYv369x8pSRyx7xAvAHzjn9gCPAl8ysz3AC8Cbzrk64M3gMcCngbrg3/PAN2JYt4gkie3bt3PhwgWuX79+s805x4kTJ3j44Yc9VpY6Vh3Ezrlh59zJYPoq0AlUAc8ALweLvQx8Nph+BviWW/IOUGJmlatdv4j4l5ubS11dHZ2dnR+aF4lEmJqaYuvWrR4qSy3heLyImW0DDgHHgArn3HAw6xJQEUxXAYMrnnYhaBte0YaZPc/SHrPEIDs7m+zsbAoKCjAzysrKyM7O/sAy09PTXLt2jYWFhZs/FxcXPVUsqejQoUOcPn2aaDR62/mnT5/myJEjDA0NsbCwkODqUkfMQWxmRcA/AL/nnLuy8vxB55wzM3c/r+ecexF4MXjt+3pupsrLy6O8vJzy8nI2bNhANBolPz+fyclJQqEQFy9epKSk5ENBHAqFCIfD1NbWEolEWLduHVlZWUxMTDAxMcHY2BhXr15VOMttFRcXk5eXx8WLF++4zPz8PD09PTz00EOcPn06gdWllpiC2MyyWQrhbzvnfhA0j5hZpXNuOOh6GA3ah4DNK55eHbTJfTIziouL2bJlC2VlZeTk5BCJRBgbG6O/v5/p6WkWFxc/EKD9/f13fL3e3t6br5ufn09eXh5lZWXs27ePwsJCbty4QV9fH5cuXWJ+fn6tfz1JEU1NTRw/fvyuy507d44jR46Qn5//gX5ked+qg9iWdn1fAjqdc3+xYtarwLPAnwU/f7ii/XfM7LvAI0BkRReG3IPCwkJqa2spKytjenqa0dFRurq6mJubw7nYvzw455iZmWFmZoaJiQl6e3sJh8OUlZVRVlbGY489xtzcHBcuXGB4ePiOX0cl/VVXVzM1NcWVK1fuuqxzjtbWVg4fPsxPf/rTBFSXemLZI34c+JdAu5m1Bm1/zFIAf9/MngMGgF8P5v0Y+AzQC8wAX4xh3RkjFAqxbds2Nm/eTCQSYXp6ms7OzoTtmS4sLDA6Onoz9IuKitizZw87d+4kEolw9uxZpqenE1KLJIdwOMy+fft444037vk5Y2Nj7Ny5k02bNjE6Onr3J2SYVQexc+6nwJ0uKH/qNss74EurXV+mCYVC1NTUUFdXx+DgIMePH/f+tc45x9WrVzl27BihUIgNGzbQ1NTE7OwsbW1tCuQMsXfvXrq7u+97Z+DkyZN84hOf4OjRozrucIu4nDUh8VVVVcX+/fs5f/48b7zxRlIebV5cXGRsbIy3336b8vJympqauH79OqdOnWJ2dtZ3ebJGCgoK2Lhx46oOvM3MzDA0NERdXR1dXV1rUF3q0iXOSaSwsJAjR45QWVnJm2++SUdHR1KG8K0uX77M22+/zcDAAE8++SQ7duzQ6FtpqrGxkdbW1lUfkzhz5gzbt28nNzc3zpWlNgVxEjAz6uvreeKJJzh58iTNzc3Mzc35Luu+DQ8P8/rrr1NUVMQnP/lJ1q1b57skiaMHHniAaDTK2NjYql9jcXGR1tZWDhw4EMfKUp+C2LO8vDyefPJJCgoKeO2115iYmPBdUkyi0Sitra0cO3aMj3/84+zYscN3SRIHoVCIQ4cOfWA8idUaHh6msLCQkpKS2AtLEwpijzZt2sSRI0dob2+ntbU1rQ5gRCIRXn/9dcrLy3nkkUcIhfRWS2X19fUMDAxw48aNuLxec3MzTU1NcXmtdKBPhyc7d+7k4MGDHD16NG1P54lGo7zzzjtMTk5y5MgR9QumqLy8PGpqajh79mzcXvPq1auMj4+zbdu2uL1mKlMQJ5iZsX//fjZu3MjRo0cz4gyD7u5uWltbOXLkCMXFxb7LkfvU0NDAqVOn4v6Nrb29nd27dxMO6+QtBXECmRkf+9jHMDN+9rOfxeVquFQxOjrKP/3TP/HEE0+obzCFlJaWkp2dzaVLl+L+2vPz83R1dbFr1664v3aqURAnyHIIRyIRTp8+nVEhvGx6epo333yTT3ziEwrjFGBmNDY2cvLkyTVbR39/P1VVVRQUFKzZOlKBgjhBHnnkESKRCO+++67vUryamZm5GcbqpkhuNTU1N0fgWyuLi4s6cIeCOCGWv3pleggvm5mZ4e233+bjH/+4DuAlqezsbHbu3JmQ9+z4+Dizs7NUVmbufSIUxGts8+bNVFRUcOzYMd+lJJXp6Wmam5v5pV/6JZ3aloT27dtHZ2dnwq7sPHXqFAcPHszY90Jm/tYJsn79evbv38/Pf/7zjOwTvpuRkRF6enp49NFHfZciKxQWFlJWVsbAwEDC1jk7O8vAwAD19fUJW2cyURCvkXA4zOOPP85PfvITDab+Ec6dO0c0GqW2ttZ3KRJoamri1KlTCd95OHv2LDU1NeTn5yd0vclAQbxGDh8+TGdn55oe6EgXzc3N1NfXU1RU5LuUjPfggw9y48YNxsfHE77uxcVFTp48mZHjUCiI10BFRQV5eXkfeXsieV80GuXnP//5zXOsxY9QKMT+/ftpbW31VsPIyAj5+fmUlZV5q8EHBXGcZWVl0dDQoINz9ykSiXDp0iV1UXi0a9cu+vv74zaexGqdOHGCxsbGjPqjrCCOs71799LT0+P9zZyKOjo6qKurIycnx3cpGSc/P58tW7bQ3d3tuxSmp6cZGRlh+/btvktJGAVxHBUVFVFRUcG5c+d8l5KSotEop0+fpqGhwXcpGefAgQOcPHkyaUYA7OjooL6+nuzsbN+lJISCOI4OHDhAc3OzTlWLwcWLFyksLKSwsNB3KRmjrKyMvLy8pBoFcGFhgTNnzmTMgTsFcZysW7eOnJyclB/YPRm0tbWxb98+32VkBDOjqamJEydO+C7lQwYGBigpKcmIs2kUxHGyf/9+2trafJeRFsbGxigsLMz4gWASoba2luHhYa5du+a7lNtqaWnJiHEoFMRxkJeXR15enpdzL9NVW1ubbrO0xrKzs6mrq6Ojo8N3KXc0OTnJzMwM1dXVvktZUwriONiyZcuajNeaycbGxli/fj1ZWVm+S0lbBw4coKOjg2g06ruUj3Tq1Cn27duX1uNQpO9vliBmRlVVFb29vb5LSTsDAwMcOnTIdxlpqaSkhOLiYs6fP++7lLuam5vjvffeY/fu3b5LWTMK4hgVFxezuLiYEbc8SrTJyUmqq6t1K501cOjQIY4fP+67jHvW1dXF5s2b0/a4gYI4RtXV1XR1dfkuIy1NT08zMTFBeXm571LSSnV1NdeuXUupcVCcc7S0tHDw4EHfpawJBXEMlrsldMra2unr68uoK6zWWlZWFvv27eP06dO+S7lvY2NjZGdnp+UfZgVxDIqKipidnWVubs53KWlrZGSE4uLitD5Qk0i7d+/m3LlzKduVduLECQ4fPpx241Do3R2DqqoqLly44LuMtDY/P8+NGzd0pV0c5OXlUVVVRU9Pj+9SVm1mZoahoaG0GxxKQRyD9evXMzw87LuMtDc6OsqmTZt8l5HyDh8+nBZ3EO/s7Ey7waEUxKtkZqxfv16jrCXAyMgIVVVVvstIaRs3biQrKystznePRqO8++67aXXgLuYgNrMsMztlZj8KHteY2TEz6zWz75lZTtCeGzzuDeZvi3XdPuXl5bGwsJD0J8OngytXrlBYWKh+4lUyMw4fPkxzc7PvUuJmcHCQdevWsW7dOt+lxEU83tm/C3SuePxV4GvOuR3AJPBc0P4cMBm0fy1YLmWVlJRw/fp132VkhLm5Oebn53WV3SrV19czODjIzMyM71Liqrm5mYcffjgtDtzFFMRmVg38M+DvgscGPAm8EizyMvDZYPqZ4DHB/KcshbdgcXExY2NjvsvIGHNzc+Tm5vouI+Xk5uayfft2zp4967uUuItEIkQikbTotop1j/gvgT8ElkeT3gBMOecWgscXgOWtVAUMAgTzI8HyKamoqCjt9jCS2dzcXFqeP7rW9u7dS3t7e9p2obW3t7Nv376U/7a06iA2s18BRp1zLXGsBzN73syazSypO7TKy8t1oC6Bpqam0jZM1sr69espLS1laGjIdylrZnZ2lp6eHh566CHfpcQklj3ix4FfNbN+4LssdUn8FVBiZsuDA1QDy++CIWAzQDC/GPjQuJHOuRedc43OucYYaltzMzMz6iNOoLm5OWpqanyXkVKWB3xP9dPV7ubcuXNUVlam9Lnmqw5i59xXnHPVzrltwOeBt5xzvwm8DXwuWOxZ4IfB9KvBY4L5b7kUfofMzMyk7NVJqej69eva3vdh69atN/tQ093yOBSpPFLfWpwP9EfAl82sl6U+4JeC9peADUH7l4EX1mDdCREKhdi+fXvG3NgwGVy7dk0D79+jrKws9uzZk5LjSazW5cuXAVL2wp+4jC/onPtH4B+D6T7g4dsscwP4tXiszzczIy8vLy1Om5H0s3fvXnp6epifn/ddSkK1tLTwC7/wC7z++utJczfqe6Uz5EXSSFFRERUVFZw7d853KQl3/fp1zp8/n5K32FIQi6SRgwcP0tzcnPYH6O6kq6uL2tralBuHQkG8CouLi4yNjel0qgTKysrSnTruoqKiAiCjx8eORqO0tbXR0NDgu5T7oiBeBeecgjjBiouL0/5OvrEIhUIcOnQorcaTWK2hoSHy8/MpLi72Xco9UxCvUmVlJaWlpb7LyCj9/f2+S0ha9fX19Pf36yKjQEtLC01NTSlzQF1BvErDw8M6rzWBSkpKUu5IeKLk5uZSU1NDd3e371KSxpUrV27efDYVKIhXyTnHxo0bfZeRMcLhsM4jvoPDhw/T2tqqP1S3aG9vZ+/evSkxDoWCeJXGx8fJy8vzXUbGKC0tZWFh4e4LZpiSkhJycnJ0p5jbmJubo7u7m3379vku5a4UxKt09epVSkpKfJeREUKhELm5uer/vIWZ0dTUREtLXMfdSit9fX1s2rSJoqIi36V8JAXxKl25coWCgoKUORiQyvLy8rh69arOUrnFli1bGBsb4+rVq75LSVrL41Ak++lsCuJVmp+fJzs7W4OVJ0B5eTnXrl3zXUZSCYfD7Nmzh46ODt+lJL3x8XGi0WhSH9NREMdgYmKCsrIy32WkvY0bN3Lx4kXfZSSVvXv30tXVlXHjSazWqVOnaGxsTNoDdwriGAwPD/PAAw/4LiOtmRmbNm1icnLSdylJY926dWzcuJH33nvPdykpY2Zmhr6+Purq6nyXclsK4hiMj49TUVGhuwuvoYKCAubn5zUI/woNDQ0ZPZ7EavX09FBTU5OU3YlKkBjcuHGDaDSaUpdSpprNmzfrJq0rVFZWMj8/r28Iq7C4uEhbWxsHDhzwXcqHaBSVGPX19bF161Z9MNbI1q1bOXbsmO8yksb27duZnZ1l7969vktJWYWFhZhZUn2jUBDHaHBwkI997GNJ9x+bDpbH8siE2/3cq3feeYfs7Gy912LQ1dWVdNtPQRyj2dnZm6fGjI6O+i4nbZgZ+/fvT8oPjU/RaFTnU6ch9RHHQUdHB1u2bPFdRlopKipifn5eI65JRlAQx8H4+DjOuaQ8Gpuqtm7dSldXl+8yRBJCQRwnQ0ND7Ny503cZaWH9+vWUlJRk9J0mJLMoiONkZGSEsrIyCgsLfZeS8nbv3k13d7f6hiVjKIjjxDlHW1tb0l65kyrWrVuHmencYckoCuI4mpiYIBQK6RZKq2Rm7Ny5kzNnzmhvWDKKgjjOzp49S01NjYbHXIUHHniAGzducOXKFd+liCSUgjjOZmZmuHLlCrW1tb5LSSnZ2dk6U0IyloJ4DfT19fHAAw/owN192LlzJ319fRrWUTKSgngNLC4ucvLkSR566CHCYV28eDcVFRXMzc3pykTJWAriNTIzM8N7773Hjh07fJeS1IqKiqipqeHcuXO+SxHxRkG8hpZPwdq2bZvfQpJUOBxm+/bttLW1afwEyWgK4jXW3d3Nhg0bqKio8F1KUgmHwxw8eJDz588zMzPjuxwRrxTEa2xxcZHW1la2bt2a9Lf0ThQzo76+nv7+fqampnyXI+JdTEFsZiVm9oqZnTWzTjN7zMzKzOyomfUEP0uDZc3Mvm5mvWbWZmbJfX/rOIpGo5w+fZqKioqkvXlhItXX1xONRrl8+bLvUkSSQqx7xH8F/D/n3C7gANAJvAC86ZyrA94MHgN8GqgL/j0PfCPGdaeU2dlZJicn2b17d0Zf7JGfn084HNbBOZEVVh3EZlYMPAG8BOCcm3POTQHPAC8Hi70MfDaYfgb4llvyDlBiZpWrXX8qmpiYYGpqioceeigjw7isrIz6+nrOnTvHwsKC73JEkkYse8Q1wBjw92Z2ysz+zswKgQrn3HCwzCVg+ShVFTC44vkXgraMcuHCBSKRCAcOHCA7O9t3OQmzZcsWtm/fzpkzZ7hx44bvckSSSixBHAYagG845w4B13i/GwIAtzRyy32N3mJmz5tZs5k1x1BbUhscHOT8+fM0NTWl/QG8UCjEjh07WLduHS0tLbpyTuQ2YgniC8AF59zyLXZfYSmYR5a7HIKfy5dLDQGbVzy/Omj7AOfci865RudcYwy1Jb2JiQlOnTrFzp07efDBB32Xsyby8/NpaGhgfn6ejo4OjagmcgerDmLn3CVg0MyWb0vxFHAGeBV4Nmh7FvhhMP0q8FvB2ROPApEVXRgZ6fr165w6dYqSkhIaGxvJy8vzXVLcVFZWcuDAAXp7exkYGPBdjkhSi3UghH8HfNvMcoA+4Isshfv3zew5YAD49WDZHwOfAXqBmWDZjLe4uMiZM2coKyujoaGB8+fPMzQ0lLJ7jwUFBezevZvp6Wmam5t1UE7kHsQUxM65VuB2XQhP3WZZB3wplvWls4mJCY4dO8auXbvYunUrnZ2dKXXPtnA4zI4dO9iwYQNnz55lfHzcd0kiKUNDgyWRaDRKR0cHRUVF7Nq1iz179tDZ2ZnUoRYOh6mqqqKqqoqBgQF6eno0boTIfVIQJ6Hlr/WlpaXs2bOHnJwcuru7GR4eZnFx0Xd5wNKdlrds2UJZWRmjo6McP35c3RAiq6QgTmKTk5P87Gc/o7S0lK1bt7J//35GR0fp6+tjamoq4f3I2dnZVFVVsW3bNoqKimhvb+fMmTNJ88dBJFUpiFPA5OQkk5OTdHZ2UllZSWNjI7m5uVy8eJHBwUEmJibWrDsgPz+fiooKamtrCYVCTE5Ocvr0aSYnJ9dkfSKZSEGcQmZnZ+nv76e/v5+CggKqq6s5cOAA4XCYhYUFLl++zOXLl5mammJ2dpaFhYV73ms2M/Ly8igsLKS8vJzy8nIKCgqIRqNMTU3dDF/1/4rEn4I4Rc3MzNDd3U13dzdZWVkUFRWxYcMGqqqqqK2tpaCggPXr1zMyMkJWVhb5+flcuXKF0dFRQqEQmzdvJhwOc/nyZTZt2sSVK1coKSm5GeTd3d1EIhFmZ2d9/6oiaU9BnAai0SiRSIRIJEJfXx/w/h7u/Pw8xcXFFBQUMDs7y7Vr1zAzpqamCIVCjIyMEAqFmJ+fV1+viCcK4jTlnOP69esAjI+Pf+gUuOnpaR9licht6A4dIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZwpiERHPFMQiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMw2DKUklOzub/fv3604g8iGh0NJ+Y2tra9qNna0glqSSk5PDjRs3OHv2rO9SJMlkZ2fzG7/xG7S1tSmIRdZaNBrVHrF8yPIecTpK399MRCRFKIhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZzEFsZn9vpl1mNm7ZvYdM8szsxozO2ZmvWb2PTPLCZbNDR73BvO3xeU3EBFJcasOYjOrAv490Oic2wtkAZ8Hvgp8zTm3A5gEngue8hwwGbR/LVhORCTjxdo1EQbyzSwMFADDwJPAK8H8l4HPBtPPBI8J5j9lZhbj+kVEUt6qg9g5NwT8OXCepQCOAC3AlHNuIVjsAlAVTFcBg8FzF4LlN6x2/SIi6SKWrolSlvZya4AHgULg6VgLMrPnzazZzJpjfS0RkVQQS9fEEeA959yYc24e+AHwOFASdFUAVANDwfQQsBkgmF8MjN/6os65F51zjc65xhhqExFJGbEE8XngUTMrCPp6nwLOAG8DnwuWeRb4YTD9avCYYP5bzjkXw/pFRNJCLH3Ex1g66HYSaA9e60Xgj4Avm1kvS33ALwVPeQnYELR/GXghhrpFRNJGTOMRO+f+FPjTW5r7gIdvs+wN4NdiWZ+ISDrSlXUiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMwWxiIhnCmIREc8UxCIinimIRUQ8UxCLiHimIBYR8UxBLCLimYJYRMQzBbGIiGcKYhERzxTEIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZwpiERHPFMQiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMwWxiIhnCmIREc/uGsRm9k0zGzWzd1e0lZnZUTPrCX6WBu1mZl83s14zazOzhhXPeTZYvsfMnl2bX0dEJPWE72GZ/w78NfCtFW0vAG865/7MzF4IHv8R8GmgLvj3CPAN4BEzKwP+FGgEHNBiZq865ybj9YtIesnKyvJdgiSZrKwsFhcXfZexJu4axM65n5jZtluanwF+MZh+GfhHloL4GeBbzjkHvGNmJWZWGSx71Dk3AWBmR4Gnge/E/itIOgmHwxw8eJCHH37YdymShAYHB1lYWPBdRtzdyx7x7VQ454aD6UtARTBdBQyuWO5C0HandpEPiEQivPLKK4RCOnwhHzY/P++7hDWx2iC+yTnnzMzFoxgAM3seeD5eryepJx33eEQ+ymp3O0aCLgeCn6NB+xCwecVy1UHbndo/xDn3onOu0TnXuMraRERSymqD+FVg+cyHZ4Efrmj/reDsiUeBSNCF8RrwKTMrDc6w+FTQJiKS8e7aNWFm32HpYFu5mV1g6eyHPwO+b2bPAQPArweL/xj4DNALzABfBHDOTZjZfwZOBMv9p+UDdyIime5ezpr4wh1mPXWbZR3wpTu8zjeBb95XdSIiGUCHpkVEPFMQi4h4piAWEfFMQSwi4lnMF3SstcXFRRYXF8nNzfVdiojIfcnJybmnq0STPoivX79OU1MTDQ0Nd19YRCSJhEIhent77zpYkS2dcZaczMyZmcYdEJGUtbi4SJCzLXe6YjjZ94innXNd0WjUdx0fpRy47LuIu0iFGiE16lSN8ZGJNW6904xkD+KuZB9zwsyaVWN8pEKdqjE+VOMH6Tu/iIhnCmIREc+SPYhf9F3APVCN8ZMKdarG+FCNKyT1WRMiIpkg2feIRUTSnoJYRMSzpA1iM3vazLrMrNfMXvBYx2Yze9vMzphZh5n9btBeZmZHzawn+FkatJuZfT2ou83MEnZJoJllmdkpM/tR8LjGzI4FtXzPzHKC9tzgcW8wf1uC6isxs1fM7KyZdZrZY8m2Hc3s94P/53fN7Dtmlud7O5rZN81s1MzeXdF239vNzJ4Nlu8xs2dvt6441/hfg//rNjP732ZWsmLeV4Iau8zsl1e0r9nn/nY1rpj3B8EFZOXB48RuR+dc0v0DsoBzwHYgBzgN7PFUSyXQEEyvA7qBPcB/AV4I2l8AvhpMfwb4v4ABjwLHEljrl4H/CfwoePx94PPB9N8A/yaY/rfA3wTTnwe+l6D6Xgb+dTCdA5Qk03Zk6c7i7wH5K7bfb/vejsATQAPw7oq2+9puQBnQF/wsDaZL17jGTwHhYPqrK2rcE3ymc4Ga4LOetdaf+9vVGLRvZunWbQNAuY/tuOYfvlVusMeA11Y8/grwFd91BbX8EPgk0AVUBm2VLF18AvC3wBdWLH9zuTWuqxp4E3gS+FHwBrq84oNwc5sGb7rHgulwsJytcX3FQcjZLe1Jsx1ZCuLB4EMWDrbjLyfDdgS23RJy97XdgC8Af7ui/QPLrUWNt8z758C3g+kPfJ6Xt2MiPve3qxF4BTgA9PN+ECd0OyZr18TyB2LZhaDNq+Cr5yHgGFDhlm6MCnAJqAimfdX+l8AfAsuji2wAppxzy/emX1nHzRqD+ZFg+bVUA4wBfx90n/ydmRWSRNvROTcE/DlwHhhmabu0kFzbcdn9bjffn6l/xdIeJh9RS8JrNLNngCHn3OlbZiW0xmQN4qRjZkXAPwC/55y7snKeW/rT6O08QDP7FWDUOdfiq4Z7EGbpa+E3nHOHgGssfaW+KQm2YynwDEt/NB4ECoGnfdVzr3xvt7sxsz8BFoBv+65lJTMrAP4Y+A++a0nWIB5iqd9mWXXQ5oWZZbMUwt92zv0gaB4xs8pgfiUwGrT7qP1x4FfNrB/4LkvdE38FlJjZ8ngiK+u4WWMwvxgYX+MaLwAXnHPHgsevsBTMybQdjwDvOefGnHPzwA9Y2rbJtB2X3e928/KZMrPfBn4F+M3gD0Yy1VjL0h/d08Fnpxo4aWYPJLrGZA3iE0BdcLQ6h6UDIa/6KMTMDHgJ6HTO/cWKWa8Cy0dMn2Wp73i5/beCo66PApEVXyHXhHPuK865aufcNpa21VvOud8E3gY+d4cal2v/XLD8mu5ROecuAYNmtjNoego4QxJtR5a6JB41s4Lg/325xqTZjivc73Z7DfiUmZUGe/6fCtrWjJk9zVJ32a8652Zuqf3zwVknNUAdcJwEf+6dc+3OuU3OuW3BZ+cCSwfmL5Ho7RjPjvA4d6p/hqUzFM4Bf+Kxjo+z9LWvDWgN/n2Gpb7AN4Ee4A2gLFjegP8W1N0ONCa43l/k/bMmtrP0Bu8F/heQG7TnBY97g/nbE1TbQaA52Jb/h6Wjzkm1HYH/CJwF3gX+B0tH9r1uR+A7LPVZz7MUFs+tZrux1E/bG/z7YgJq7GWpP3X5c/M3K5b/k6DGLuDTK9rX7HN/uxpvmd/P+wfrEroddYmziIhnydo1ISKSMRTEIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExLP/Dxy6zTiwqG82AAAAAElFTkSuQmCC\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "###### Implement line hough transform" | |
}, | |
{ | |
"metadata": { | |
"ExecuteTime": { | |
"start_time": "2020-12-11T04:23:33.861702Z", | |
"end_time": "2020-12-11T04:23:41.586923Z" | |
}, | |
"code_folding": [ | |
5, | |
35 | |
], | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "import numpy as np\nimport cv2\nimport math\nimport matplotlib.pyplot as plt\n\ndef hough_transform_line(img, rho=1, theta=np.pi / 180, threshold=150):\n img_height, img_width = img.shape[:2]\n diagonal_length = int(math.sqrt(img_height*img_height + img_width*img_width))\n\n num_rho = int(diagonal_length / rho)\n num_theta = int(np.pi / theta)\n\n edge_matrix = np.zeros([2*num_rho+1, num_theta])\n\n range_theta = np.arange(0, np.pi, theta)\n theta_matrix = np.stack((np.cos(np.copy(range_theta)), np.sin(np.copy(range_theta))), axis=-1)\n\n idx\t= np.squeeze(cv2.findNonZero(img))\n\n vote_matrix = np.dot(idx, np.transpose(theta_matrix))\n \n for vr in range(vote_matrix.shape[0]):\n for vc in range(vote_matrix.shape[1]):\n rho_pos = int(round(vote_matrix[vr, vc])) + num_rho\n edge_matrix[rho_pos, vc] += 1\n\n line_idx = np.where(edge_matrix > threshold)\n\n rho_values = [r-num_rho for r in line_idx[0]]\n theta_values = [t/180.0*np.pi for t in line_idx[1]]\n\n line_idx = list(zip(rho_values, theta_values))\n\n return line_idx, idx\n\nif True and \"Test\":\n img = cv2.imread(\"images/shapes.jpg\")\n img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n plt.imshow(img)\n plt.show()\n img = detect_egde_canny(img)\n plt.imshow(img, cmap=\"gray\")\n plt.show()\n \n line_idx, idx = hough_transform_line(img)\n \n img_line = np.array(img)\n for rho, theta in line_idx:\n a = np.cos(theta)\n b = np.sin(theta)\n x0 = a*rho\n y0 = b*rho\n x1 = int(x0 + 1000*(-b))\n y1 = int(y0 + 1000*(a))\n x2 = int(x0 - 1000*(-b))\n y2 = int(y0 - 1000*(a))\n cv2.line(img_line,(x1,y1),(x2,y2),(255,255,255),2)\n \n plt.imshow(img_line, cmap=\"gray\")\n plt.show()", | |
"execution_count": 3, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWIAAAD8CAYAAABNR679AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAi+ElEQVR4nO3da3Bc533f8e9/sbiDxIUgIQjgBQQBXsQrCOhi2Uoi0Y7sZiJ3xknsZhrFVUczrdMmcWYSOZlppu2buM3EiScdJ5rIqdxxfani1hqPW4m6JB7bI5IACQICQVwIAQRBEABxWRIEicvi6QscUBBFiiR2sc9efp8ZDs4+5+yePw53fzj7nHOeY845RETEn5DvAkREMp2CWETEMwWxiIhnCmIREc8UxCIinimIRUQ8S3gQm9nTZtZlZr1m9kKi1y8ikmwskecRm1kW0A18ErgAnAC+4Jw7k7AiRESSTKL3iB8Gep1zfc65OeC7wDMJrkFEJKmEE7y+KmBwxeMLwCMrFzCz54Hng4eHE1SXiMhau+yc23i7GYkO4rtyzr0IvAhgZm7Xrl3U1NSQl5fnuTIRkftz/fp15ufneeutt3DODdxpuUQH8RCwecXj6qDtjkpKSohEIrS0tKxpYSIi8WZmPP3004RCIaLR6B2XS3QQnwDqzKyGpQD+PPAvPuoJoVCI6elpRkdHE1GfiEjc5OTkcC8nRCQ0iJ1zC2b2O8BrQBbwTedcRyJrEBFJNgnvI3bO/Rj4caLXKyKSrHRlnYiIZwpiERHPFMQiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMwWxiIhnCmIREc8UxCIinimIRUQ8UxCLiHimIBYR8UxBLCLimYJYRMQzBbGIiGcKYhERzxTEIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZwpiERHPFMQiIp4piEVEPFMQi0jc7NixgyNHjmBmvktJKQpiEYmLwsJC6urquHz5MrW1tb7LSSkKYhGJi8OHD3P8+HHa29upq6sjJyfHd0kpQ0EsIjHbtGkTi4uLjI+PE41GaW9vZ//+/b7LShmrDmIz22xmb5vZGTPrMLPfDdrLzOyomfUEP0uDdjOzr5tZr5m1mVlDvH4JEfEnFArR0NBAS0vLzbahoSFKSkpYv369x8pSRyx7xAvAHzjn9gCPAl8ysz3AC8Cbzrk64M3gMcCngbrg3/PAN2JYt4gkie3bt3PhwgWuX79+s805x4kTJ3j44Yc9VpY6Vh3Ezrlh59zJYPoq0AlUAc8ALweLvQx8Nph+BviWW/IOUGJmlatdv4j4l5ubS11dHZ2dnR+aF4lEmJqaYuvWrR4qSy3heLyImW0DDgHHgArn3HAw6xJQEUxXAYMrnnYhaBte0YaZPc/SHrPEIDs7m+zsbAoKCjAzysrKyM7O/sAy09PTXLt2jYWFhZs/FxcXPVUsqejQoUOcPn2aaDR62/mnT5/myJEjDA0NsbCwkODqUkfMQWxmRcA/AL/nnLuy8vxB55wzM3c/r+ecexF4MXjt+3pupsrLy6O8vJzy8nI2bNhANBolPz+fyclJQqEQFy9epKSk5ENBHAqFCIfD1NbWEolEWLduHVlZWUxMTDAxMcHY2BhXr15VOMttFRcXk5eXx8WLF++4zPz8PD09PTz00EOcPn06gdWllpiC2MyyWQrhbzvnfhA0j5hZpXNuOOh6GA3ah4DNK55eHbTJfTIziouL2bJlC2VlZeTk5BCJRBgbG6O/v5/p6WkWFxc/EKD9/f13fL3e3t6br5ufn09eXh5lZWXs27ePwsJCbty4QV9fH5cuXWJ+fn6tfz1JEU1NTRw/fvyuy507d44jR46Qn5//gX5ked+qg9iWdn1fAjqdc3+xYtarwLPAnwU/f7ii/XfM7LvAI0BkRReG3IPCwkJqa2spKytjenqa0dFRurq6mJubw7nYvzw455iZmWFmZoaJiQl6e3sJh8OUlZVRVlbGY489xtzcHBcuXGB4ePiOX0cl/VVXVzM1NcWVK1fuuqxzjtbWVg4fPsxPf/rTBFSXemLZI34c+JdAu5m1Bm1/zFIAf9/MngMGgF8P5v0Y+AzQC8wAX4xh3RkjFAqxbds2Nm/eTCQSYXp6ms7OzoTtmS4sLDA6Onoz9IuKitizZw87d+4kEolw9uxZpqenE1KLJIdwOMy+fft444037vk5Y2Nj7Ny5k02bNjE6Onr3J2SYVQexc+6nwJ0uKH/qNss74EurXV+mCYVC1NTUUFdXx+DgIMePH/f+tc45x9WrVzl27BihUIgNGzbQ1NTE7OwsbW1tCuQMsXfvXrq7u+97Z+DkyZN84hOf4OjRozrucIu4nDUh8VVVVcX+/fs5f/48b7zxRlIebV5cXGRsbIy3336b8vJympqauH79OqdOnWJ2dtZ3ebJGCgoK2Lhx46oOvM3MzDA0NERdXR1dXV1rUF3q0iXOSaSwsJAjR45QWVnJm2++SUdHR1KG8K0uX77M22+/zcDAAE8++SQ7duzQ6FtpqrGxkdbW1lUfkzhz5gzbt28nNzc3zpWlNgVxEjAz6uvreeKJJzh58iTNzc3Mzc35Luu+DQ8P8/rrr1NUVMQnP/lJ1q1b57skiaMHHniAaDTK2NjYql9jcXGR1tZWDhw4EMfKUp+C2LO8vDyefPJJCgoKeO2115iYmPBdUkyi0Sitra0cO3aMj3/84+zYscN3SRIHoVCIQ4cOfWA8idUaHh6msLCQkpKS2AtLEwpijzZt2sSRI0dob2+ntbU1rQ5gRCIRXn/9dcrLy3nkkUcIhfRWS2X19fUMDAxw48aNuLxec3MzTU1NcXmtdKBPhyc7d+7k4MGDHD16NG1P54lGo7zzzjtMTk5y5MgR9QumqLy8PGpqajh79mzcXvPq1auMj4+zbdu2uL1mKlMQJ5iZsX//fjZu3MjRo0cz4gyD7u5uWltbOXLkCMXFxb7LkfvU0NDAqVOn4v6Nrb29nd27dxMO6+QtBXECmRkf+9jHMDN+9rOfxeVquFQxOjrKP/3TP/HEE0+obzCFlJaWkp2dzaVLl+L+2vPz83R1dbFr1664v3aqURAnyHIIRyIRTp8+nVEhvGx6epo333yTT3ziEwrjFGBmNDY2cvLkyTVbR39/P1VVVRQUFKzZOlKBgjhBHnnkESKRCO+++67vUryamZm5GcbqpkhuNTU1N0fgWyuLi4s6cIeCOCGWv3pleggvm5mZ4e233+bjH/+4DuAlqezsbHbu3JmQ9+z4+Dizs7NUVmbufSIUxGts8+bNVFRUcOzYMd+lJJXp6Wmam5v5pV/6JZ3aloT27dtHZ2dnwq7sPHXqFAcPHszY90Jm/tYJsn79evbv38/Pf/7zjOwTvpuRkRF6enp49NFHfZciKxQWFlJWVsbAwEDC1jk7O8vAwAD19fUJW2cyURCvkXA4zOOPP85PfvITDab+Ec6dO0c0GqW2ttZ3KRJoamri1KlTCd95OHv2LDU1NeTn5yd0vclAQbxGDh8+TGdn55oe6EgXzc3N1NfXU1RU5LuUjPfggw9y48YNxsfHE77uxcVFTp48mZHjUCiI10BFRQV5eXkfeXsieV80GuXnP//5zXOsxY9QKMT+/ftpbW31VsPIyAj5+fmUlZV5q8EHBXGcZWVl0dDQoINz9ykSiXDp0iV1UXi0a9cu+vv74zaexGqdOHGCxsbGjPqjrCCOs71799LT0+P9zZyKOjo6qKurIycnx3cpGSc/P58tW7bQ3d3tuxSmp6cZGRlh+/btvktJGAVxHBUVFVFRUcG5c+d8l5KSotEop0+fpqGhwXcpGefAgQOcPHkyaUYA7OjooL6+nuzsbN+lJISCOI4OHDhAc3OzTlWLwcWLFyksLKSwsNB3KRmjrKyMvLy8pBoFcGFhgTNnzmTMgTsFcZysW7eOnJyclB/YPRm0tbWxb98+32VkBDOjqamJEydO+C7lQwYGBigpKcmIs2kUxHGyf/9+2trafJeRFsbGxigsLMz4gWASoba2luHhYa5du+a7lNtqaWnJiHEoFMRxkJeXR15enpdzL9NVW1ubbrO0xrKzs6mrq6Ojo8N3KXc0OTnJzMwM1dXVvktZUwriONiyZcuajNeaycbGxli/fj1ZWVm+S0lbBw4coKOjg2g06ruUj3Tq1Cn27duX1uNQpO9vliBmRlVVFb29vb5LSTsDAwMcOnTIdxlpqaSkhOLiYs6fP++7lLuam5vjvffeY/fu3b5LWTMK4hgVFxezuLiYEbc8SrTJyUmqq6t1K501cOjQIY4fP+67jHvW1dXF5s2b0/a4gYI4RtXV1XR1dfkuIy1NT08zMTFBeXm571LSSnV1NdeuXUupcVCcc7S0tHDw4EHfpawJBXEMlrsldMra2unr68uoK6zWWlZWFvv27eP06dO+S7lvY2NjZGdnp+UfZgVxDIqKipidnWVubs53KWlrZGSE4uLitD5Qk0i7d+/m3LlzKduVduLECQ4fPpx241Do3R2DqqoqLly44LuMtDY/P8+NGzd0pV0c5OXlUVVVRU9Pj+9SVm1mZoahoaG0GxxKQRyD9evXMzw87LuMtDc6OsqmTZt8l5HyDh8+nBZ3EO/s7Ey7waEUxKtkZqxfv16jrCXAyMgIVVVVvstIaRs3biQrKystznePRqO8++67aXXgLuYgNrMsMztlZj8KHteY2TEz6zWz75lZTtCeGzzuDeZvi3XdPuXl5bGwsJD0J8OngytXrlBYWKh+4lUyMw4fPkxzc7PvUuJmcHCQdevWsW7dOt+lxEU83tm/C3SuePxV4GvOuR3AJPBc0P4cMBm0fy1YLmWVlJRw/fp132VkhLm5Oebn53WV3SrV19czODjIzMyM71Liqrm5mYcffjgtDtzFFMRmVg38M+DvgscGPAm8EizyMvDZYPqZ4DHB/KcshbdgcXExY2NjvsvIGHNzc+Tm5vouI+Xk5uayfft2zp4967uUuItEIkQikbTotop1j/gvgT8ElkeT3gBMOecWgscXgOWtVAUMAgTzI8HyKamoqCjt9jCS2dzcXFqeP7rW9u7dS3t7e9p2obW3t7Nv376U/7a06iA2s18BRp1zLXGsBzN73syazSypO7TKy8t1oC6Bpqam0jZM1sr69espLS1laGjIdylrZnZ2lp6eHh566CHfpcQklj3ix4FfNbN+4LssdUn8FVBiZsuDA1QDy++CIWAzQDC/GPjQuJHOuRedc43OucYYaltzMzMz6iNOoLm5OWpqanyXkVKWB3xP9dPV7ubcuXNUVlam9Lnmqw5i59xXnHPVzrltwOeBt5xzvwm8DXwuWOxZ4IfB9KvBY4L5b7kUfofMzMyk7NVJqej69eva3vdh69atN/tQ093yOBSpPFLfWpwP9EfAl82sl6U+4JeC9peADUH7l4EX1mDdCREKhdi+fXvG3NgwGVy7dk0D79+jrKws9uzZk5LjSazW5cuXAVL2wp+4jC/onPtH4B+D6T7g4dsscwP4tXiszzczIy8vLy1Om5H0s3fvXnp6epifn/ddSkK1tLTwC7/wC7z++utJczfqe6Uz5EXSSFFRERUVFZw7d853KQl3/fp1zp8/n5K32FIQi6SRgwcP0tzcnPYH6O6kq6uL2tralBuHQkG8CouLi4yNjel0qgTKysrSnTruoqKiAiCjx8eORqO0tbXR0NDgu5T7oiBeBeecgjjBiouL0/5OvrEIhUIcOnQorcaTWK2hoSHy8/MpLi72Xco9UxCvUmVlJaWlpb7LyCj9/f2+S0ha9fX19Pf36yKjQEtLC01NTSlzQF1BvErDw8M6rzWBSkpKUu5IeKLk5uZSU1NDd3e371KSxpUrV27efDYVKIhXyTnHxo0bfZeRMcLhsM4jvoPDhw/T2tqqP1S3aG9vZ+/evSkxDoWCeJXGx8fJy8vzXUbGKC0tZWFh4e4LZpiSkhJycnJ0p5jbmJubo7u7m3379vku5a4UxKt09epVSkpKfJeREUKhELm5uer/vIWZ0dTUREtLXMfdSit9fX1s2rSJoqIi36V8JAXxKl25coWCgoKUORiQyvLy8rh69arOUrnFli1bGBsb4+rVq75LSVrL41Ak++lsCuJVmp+fJzs7W4OVJ0B5eTnXrl3zXUZSCYfD7Nmzh46ODt+lJL3x8XGi0WhSH9NREMdgYmKCsrIy32WkvY0bN3Lx4kXfZSSVvXv30tXVlXHjSazWqVOnaGxsTNoDdwriGAwPD/PAAw/4LiOtmRmbNm1icnLSdylJY926dWzcuJH33nvPdykpY2Zmhr6+Purq6nyXclsK4hiMj49TUVGhuwuvoYKCAubn5zUI/woNDQ0ZPZ7EavX09FBTU5OU3YlKkBjcuHGDaDSaUpdSpprNmzfrJq0rVFZWMj8/r28Iq7C4uEhbWxsHDhzwXcqHaBSVGPX19bF161Z9MNbI1q1bOXbsmO8yksb27duZnZ1l7969vktJWYWFhZhZUn2jUBDHaHBwkI997GNJ9x+bDpbH8siE2/3cq3feeYfs7Gy912LQ1dWVdNtPQRyj2dnZm6fGjI6O+i4nbZgZ+/fvT8oPjU/RaFTnU6ch9RHHQUdHB1u2bPFdRlopKipifn5eI65JRlAQx8H4+DjOuaQ8Gpuqtm7dSldXl+8yRBJCQRwnQ0ND7Ny503cZaWH9+vWUlJRk9J0mJLMoiONkZGSEsrIyCgsLfZeS8nbv3k13d7f6hiVjKIjjxDlHW1tb0l65kyrWrVuHmencYckoCuI4mpiYIBQK6RZKq2Rm7Ny5kzNnzmhvWDKKgjjOzp49S01NjYbHXIUHHniAGzducOXKFd+liCSUgjjOZmZmuHLlCrW1tb5LSSnZ2dk6U0IyloJ4DfT19fHAAw/owN192LlzJ319fRrWUTKSgngNLC4ucvLkSR566CHCYV28eDcVFRXMzc3pykTJWAriNTIzM8N7773Hjh07fJeS1IqKiqipqeHcuXO+SxHxRkG8hpZPwdq2bZvfQpJUOBxm+/bttLW1afwEyWgK4jXW3d3Nhg0bqKio8F1KUgmHwxw8eJDz588zMzPjuxwRrxTEa2xxcZHW1la2bt2a9Lf0ThQzo76+nv7+fqampnyXI+JdTEFsZiVm9oqZnTWzTjN7zMzKzOyomfUEP0uDZc3Mvm5mvWbWZmbJfX/rOIpGo5w+fZqKioqkvXlhItXX1xONRrl8+bLvUkSSQqx7xH8F/D/n3C7gANAJvAC86ZyrA94MHgN8GqgL/j0PfCPGdaeU2dlZJicn2b17d0Zf7JGfn084HNbBOZEVVh3EZlYMPAG8BOCcm3POTQHPAC8Hi70MfDaYfgb4llvyDlBiZpWrXX8qmpiYYGpqioceeigjw7isrIz6+nrOnTvHwsKC73JEkkYse8Q1wBjw92Z2ysz+zswKgQrn3HCwzCVg+ShVFTC44vkXgraMcuHCBSKRCAcOHCA7O9t3OQmzZcsWtm/fzpkzZ7hx44bvckSSSixBHAYagG845w4B13i/GwIAtzRyy32N3mJmz5tZs5k1x1BbUhscHOT8+fM0NTWl/QG8UCjEjh07WLduHS0tLbpyTuQ2YgniC8AF59zyLXZfYSmYR5a7HIKfy5dLDQGbVzy/Omj7AOfci865RudcYwy1Jb2JiQlOnTrFzp07efDBB32Xsyby8/NpaGhgfn6ejo4OjagmcgerDmLn3CVg0MyWb0vxFHAGeBV4Nmh7FvhhMP0q8FvB2ROPApEVXRgZ6fr165w6dYqSkhIaGxvJy8vzXVLcVFZWcuDAAXp7exkYGPBdjkhSi3UghH8HfNvMcoA+4Isshfv3zew5YAD49WDZHwOfAXqBmWDZjLe4uMiZM2coKyujoaGB8+fPMzQ0lLJ7jwUFBezevZvp6Wmam5t1UE7kHsQUxM65VuB2XQhP3WZZB3wplvWls4mJCY4dO8auXbvYunUrnZ2dKXXPtnA4zI4dO9iwYQNnz55lfHzcd0kiKUNDgyWRaDRKR0cHRUVF7Nq1iz179tDZ2ZnUoRYOh6mqqqKqqoqBgQF6eno0boTIfVIQJ6Hlr/WlpaXs2bOHnJwcuru7GR4eZnFx0Xd5wNKdlrds2UJZWRmjo6McP35c3RAiq6QgTmKTk5P87Gc/o7S0lK1bt7J//35GR0fp6+tjamoq4f3I2dnZVFVVsW3bNoqKimhvb+fMmTNJ88dBJFUpiFPA5OQkk5OTdHZ2UllZSWNjI7m5uVy8eJHBwUEmJibWrDsgPz+fiooKamtrCYVCTE5Ocvr0aSYnJ9dkfSKZSEGcQmZnZ+nv76e/v5+CggKqq6s5cOAA4XCYhYUFLl++zOXLl5mammJ2dpaFhYV73ms2M/Ly8igsLKS8vJzy8nIKCgqIRqNMTU3dDF/1/4rEn4I4Rc3MzNDd3U13dzdZWVkUFRWxYcMGqqqqqK2tpaCggPXr1zMyMkJWVhb5+flcuXKF0dFRQqEQmzdvJhwOc/nyZTZt2sSVK1coKSm5GeTd3d1EIhFmZ2d9/6oiaU9BnAai0SiRSIRIJEJfXx/w/h7u/Pw8xcXFFBQUMDs7y7Vr1zAzpqamCIVCjIyMEAqFmJ+fV1+viCcK4jTlnOP69esAjI+Pf+gUuOnpaR9licht6A4dIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZwpiERHPFMQiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMw2DKUklOzub/fv3604g8iGh0NJ+Y2tra9qNna0glqSSk5PDjRs3OHv2rO9SJMlkZ2fzG7/xG7S1tSmIRdZaNBrVHrF8yPIecTpK399MRCRFKIhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZzEFsZn9vpl1mNm7ZvYdM8szsxozO2ZmvWb2PTPLCZbNDR73BvO3xeU3EBFJcasOYjOrAv490Oic2wtkAZ8Hvgp8zTm3A5gEngue8hwwGbR/LVhORCTjxdo1EQbyzSwMFADDwJPAK8H8l4HPBtPPBI8J5j9lZhbj+kVEUt6qg9g5NwT8OXCepQCOAC3AlHNuIVjsAlAVTFcBg8FzF4LlN6x2/SIi6SKWrolSlvZya4AHgULg6VgLMrPnzazZzJpjfS0RkVQQS9fEEeA959yYc24e+AHwOFASdFUAVANDwfQQsBkgmF8MjN/6os65F51zjc65xhhqExFJGbEE8XngUTMrCPp6nwLOAG8DnwuWeRb4YTD9avCYYP5bzjkXw/pFRNJCLH3Ex1g66HYSaA9e60Xgj4Avm1kvS33ALwVPeQnYELR/GXghhrpFRNJGTOMRO+f+FPjTW5r7gIdvs+wN4NdiWZ+ISDrSlXUiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMwWxiIhnCmIREc8UxCIinimIRUQ8UxCLiHimIBYR8UxBLCLimYJYRMQzBbGIiGcKYhERzxTEIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExDMFsYiIZwpiERHPFMQiIp4piEVEPFMQi4h4piAWEfFMQSwi4pmCWETEMwWxiIhnCmIREc/uGsRm9k0zGzWzd1e0lZnZUTPrCX6WBu1mZl83s14zazOzhhXPeTZYvsfMnl2bX0dEJPWE72GZ/w78NfCtFW0vAG865/7MzF4IHv8R8GmgLvj3CPAN4BEzKwP+FGgEHNBiZq865ybj9YtIesnKyvJdgiSZrKwsFhcXfZexJu4axM65n5jZtluanwF+MZh+GfhHloL4GeBbzjkHvGNmJWZWGSx71Dk3AWBmR4Gnge/E/itIOgmHwxw8eJCHH37YdymShAYHB1lYWPBdRtzdyx7x7VQ454aD6UtARTBdBQyuWO5C0HandpEPiEQivPLKK4RCOnwhHzY/P++7hDWx2iC+yTnnzMzFoxgAM3seeD5eryepJx33eEQ+ymp3O0aCLgeCn6NB+xCwecVy1UHbndo/xDn3onOu0TnXuMraRERSymqD+FVg+cyHZ4Efrmj/reDsiUeBSNCF8RrwKTMrDc6w+FTQJiKS8e7aNWFm32HpYFu5mV1g6eyHPwO+b2bPAQPArweL/xj4DNALzABfBHDOTZjZfwZOBMv9p+UDdyIime5ezpr4wh1mPXWbZR3wpTu8zjeBb95XdSIiGUCHpkVEPFMQi4h4piAWEfFMQSwi4lnMF3SstcXFRRYXF8nNzfVdiojIfcnJybmnq0STPoivX79OU1MTDQ0Nd19YRCSJhEIhent77zpYkS2dcZaczMyZmcYdEJGUtbi4SJCzLXe6YjjZ94innXNd0WjUdx0fpRy47LuIu0iFGiE16lSN8ZGJNW6904xkD+KuZB9zwsyaVWN8pEKdqjE+VOMH6Tu/iIhnCmIREc+SPYhf9F3APVCN8ZMKdarG+FCNKyT1WRMiIpkg2feIRUTSnoJYRMSzpA1iM3vazLrMrNfMXvBYx2Yze9vMzphZh5n9btBeZmZHzawn+FkatJuZfT2ou83MEnZJoJllmdkpM/tR8LjGzI4FtXzPzHKC9tzgcW8wf1uC6isxs1fM7KyZdZrZY8m2Hc3s94P/53fN7Dtmlud7O5rZN81s1MzeXdF239vNzJ4Nlu8xs2dvt6441/hfg//rNjP732ZWsmLeV4Iau8zsl1e0r9nn/nY1rpj3B8EFZOXB48RuR+dc0v0DsoBzwHYgBzgN7PFUSyXQEEyvA7qBPcB/AV4I2l8AvhpMfwb4v4ABjwLHEljrl4H/CfwoePx94PPB9N8A/yaY/rfA3wTTnwe+l6D6Xgb+dTCdA5Qk03Zk6c7i7wH5K7bfb/vejsATQAPw7oq2+9puQBnQF/wsDaZL17jGTwHhYPqrK2rcE3ymc4Ga4LOetdaf+9vVGLRvZunWbQNAuY/tuOYfvlVusMeA11Y8/grwFd91BbX8EPgk0AVUBm2VLF18AvC3wBdWLH9zuTWuqxp4E3gS+FHwBrq84oNwc5sGb7rHgulwsJytcX3FQcjZLe1Jsx1ZCuLB4EMWDrbjLyfDdgS23RJy97XdgC8Af7ui/QPLrUWNt8z758C3g+kPfJ6Xt2MiPve3qxF4BTgA9PN+ECd0OyZr18TyB2LZhaDNq+Cr5yHgGFDhlm6MCnAJqAimfdX+l8AfAsuji2wAppxzy/emX1nHzRqD+ZFg+bVUA4wBfx90n/ydmRWSRNvROTcE/DlwHhhmabu0kFzbcdn9bjffn6l/xdIeJh9RS8JrNLNngCHn3OlbZiW0xmQN4qRjZkXAPwC/55y7snKeW/rT6O08QDP7FWDUOdfiq4Z7EGbpa+E3nHOHgGssfaW+KQm2YynwDEt/NB4ECoGnfdVzr3xvt7sxsz8BFoBv+65lJTMrAP4Y+A++a0nWIB5iqd9mWXXQ5oWZZbMUwt92zv0gaB4xs8pgfiUwGrT7qP1x4FfNrB/4LkvdE38FlJjZ8ngiK+u4WWMwvxgYX+MaLwAXnHPHgsevsBTMybQdjwDvOefGnHPzwA9Y2rbJtB2X3e928/KZMrPfBn4F+M3gD0Yy1VjL0h/d08Fnpxo4aWYPJLrGZA3iE0BdcLQ6h6UDIa/6KMTMDHgJ6HTO/cWKWa8Cy0dMn2Wp73i5/beCo66PApEVXyHXhHPuK865aufcNpa21VvOud8E3gY+d4cal2v/XLD8mu5ROecuAYNmtjNoego4QxJtR5a6JB41s4Lg/325xqTZjivc73Z7DfiUmZUGe/6fCtrWjJk9zVJ32a8652Zuqf3zwVknNUAdcJwEf+6dc+3OuU3OuW3BZ+cCSwfmL5Ho7RjPjvA4d6p/hqUzFM4Bf+Kxjo+z9LWvDWgN/n2Gpb7AN4Ee4A2gLFjegP8W1N0ONCa43l/k/bMmtrP0Bu8F/heQG7TnBY97g/nbE1TbQaA52Jb/h6Wjzkm1HYH/CJwF3gX+B0tH9r1uR+A7LPVZz7MUFs+tZrux1E/bG/z7YgJq7GWpP3X5c/M3K5b/k6DGLuDTK9rX7HN/uxpvmd/P+wfrEroddYmziIhnydo1ISKSMRTEIiKeKYhFRDxTEIuIeKYgFhHxTEEsIuKZglhExLP/Dxy6zTiwqG82AAAAAElFTkSuQmCC\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"metadata": {}, | |
"cell_type": "markdown", | |
"source": "###### Implement egde hough transform " | |
}, | |
{ | |
"metadata": { | |
"code_folding": [ | |
0, | |
44 | |
], | |
"ExecuteTime": { | |
"start_time": "2020-12-11T04:23:48.996123Z", | |
"end_time": "2020-12-11T04:23:59.291320Z" | |
}, | |
"trusted": true | |
}, | |
"cell_type": "code", | |
"source": "import numpy as np\nimport cv2\nimport math\nimport matplotlib.pyplot as plt\n\ndef hough_transform_egde(img, rho=1,theta=np.pi / 180, threshold=150,\n rho_delta=1, px_delta=5, py_delta=5, min_line_length_percent=0.15):\n \n line_idx, idx = hough_transform_line(img, rho, theta, threshold)\n line_px_dict = {}\n for (rho, theta) in line_idx:\n line_px_dict[(rho, theta)] = []\n for row_idx in range(idx.shape[0]):\n point_x, point_y = idx[row_idx,0], idx[row_idx,1]\n rho_point = point_x*np.cos(theta) + point_y*np.sin(theta)\n if abs(int(rho_point) - rho) <= rho_delta:\n line_px_dict[(rho, theta)].append((point_x, point_y))\n \n line_result = []\n \n for (rho, theta) in line_px_dict.keys():\n point_list = line_px_dict[(rho, theta)]\n point_list.sort(key=lambda tup: tup[0])\n \n pf_idx = 0\n pfrom = point_list[pf_idx]\n pcurrent = pfrom\n for p_idx in range(len(point_list)):\n pto = point_list[p_idx]\n if p_idx != len(point_list)-1 \\\n and abs(pto[1]-pcurrent[1]) <= px_delta \\\n and abs(pto[0]-pcurrent[0]) <= py_delta:\n pcurrent = pto\n else:\n pt_idx = p_idx-1 if p_idx != len(point_list)-1 else p_idx\n pto = point_list[pt_idx]\n line_length_percent = (pt_idx-pf_idx)/len(point_list)\n \n if line_length_percent >= min_line_length_percent:\n line_result.append([pfrom, pto])\n else:\n pass\n pf_idx = p_idx\n pfrom = point_list[p_idx]\n pcurrent = pfrom\n\n return line_result, idx\n\nif True and \"Test\":\n img = cv2.imread(\"images/shapes.jpg\")\n img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n plt.imshow(img)\n plt.show()\n img = detect_egde_canny(img)\n plt.imshow(img, cmap=\"gray\")\n plt.show()\n \n egde_idx, idx = hough_transform_egde(img)\n \n img_egde = np.array(img)\n for line in egde_idx:\n (x1, y1) = line[0]\n (x2, y2) = line[1]\n cv2.line(img_egde, (x1,y1), (x2,y2),(255,0,143), 3) \n \n plt.imshow(img_egde, cmap=\"gray\")\n plt.show()", | |
"execution_count": 4, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWIAAAD8CAYAAABNR679AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAkQklEQVR4nO3deZQc5Xnv8e9T3bNqlwChFUlIAgkBFmCWYBwbbMDggO2LfeDaBjv4cHONE9v4Ogb75HIT/5E4m2NOcrBJIMaJjY0JN+LaAkUCYXYhsUoghAYJIQ1akNAya09313P/6GqpJUZoNL1UL7/POXOmu7qm+5nqrl+/9dZbVebuiIhIfIK4CxARaXQKYhGRmCmIRURipiAWEYmZglhEJGYKYhGRmFU8iM3sUjNbZ2YdZnZzpV9fRKTaWCXHEZtZAngd+DiwBVgJXOPur1asCBGRKlPpFvHZQIe7b3D3AeCXwJUVrkFEpKokK/x6U4DNBfe3AOcUzmBmNwA3ACRInNnO6MpVJyJSJl3s3unuxw72WKWD+Ijc/Q7gDoDRNt7Pn34dWz4zXbsVRaT2OEx5cAfZdR0s8/s2HW62SgdxJzCt4P7UaNph9c4/nse+/XeMCdrKWpiISKmlPcuH3v0aY9d1vO98lW5nrgTmmNlMM2sGrgYeqHANIiJVpaItYnfPmNnXgCVAArjL3V850t8lsLLXJiISl4r3Ebv7YmBxpV9XRKRaaReYiEjMFMQiIjFTEIuIxExBLCISMwWxiEjMFMQiIjFTEIuIxExBLCISMwWxiEjMFMQiIjFTEIuIxExBLCISMwWxiEjMFMQiIjFTEIuIxExBLCISMwWxiEjMFMQiIjFTEIuIxExBLCISMwWxiEjMFMQiIjFTEIuIxExBLCISMwWxiEjMFMQiIjFTEIuIxCwZdwEiUj/SngUgwEiY2nlDpSUlIiWR9ZDt2T5eHsgS4nGXU1MUxCJSEiHOst5ZPLBvIXvD/rjLqSkKYhEpWtqzvJ4eYHXPVHYNjOR3fZNIeZqsh3GXVhMUxCJSlKyHpDzNku5TSHsCgGd7ZrElk4q5stox7CA2s2lmttzMXjWzV8zs69H08Wa21MzWR7/HRdPNzG4zsw4ze9nMzijVPyEi8VqVauet1HgAAgvpyzaxtOckMmRjrqw2FNMizgDfcvf5wLnAjWY2H7gZeNjd5wAPR/cBPgHMiX5uAG4v4rVFpApkPWR32Mfy7nlkwgShH4iU1/om8dIA6p4YgmEHsbtvdffno9tdwFpgCnAlcHc0293Ap6LbVwI/85xngLFmNmm4ry+Dy3p40Ae/8H7+duHP4eYTGYoQ55G+yexOtxNY7nMTehD9GMu6FrBPO+6OqCTjiM1sBrAQWAFMdPet0UPbgInR7SnA5oI/2xJN21owDTO7gVyLmVbaS1Few8gHaIiT8TT9nqE3zNLlRm+YpMebyBKQIKTJsoywDKOCLKMsoMkCWqyJ0LMEWMz/idSCrIe8leljZfesg1rCeaEHbBsYzYrUOD7e1qdxxe+j6CA2s5HAfwDfcPd9ZgdWYnd3MzuqAYXufgdwB8BoG6/BiEeQ9ZAMWTZlBlidmsRTXbNZs2cynXvH0NvVgvcnsHSAZQwc9g/vNPAAvDmE5pCm9jTjx/Qwe+xOzhmzkXPaO5iTTDM6aNUKJINKeYaHeubRl20+7DyhBzzWdRKnNz/FcYl2fZYOo6ggNrMmciH8c3e/P5q83cwmufvWqOthRzS9E5hW8OdTo2kyBPnWbsIC0p5lZ7aPx/uncP87Z/Ji5xRSO9tI9AZY1vaHbWIoT9yXABI4TeyinV0cywqbR9jihGPSHH/8Hi6dvJYrR7/A7CanxZr2t5i1UjWurIesSRvr+yYecd59mTaW9M7imlGdJDRQa1DDDmLLNX3vBNa6+98XPPQAcB3wV9HvRQXTv2ZmvwTOAfYWdGHI+8h6SIjTHaZ4pO94/nnLBazbOInE7mSupQskjYNau0Ud2OQQpIxgezM7dxzHv68+jrvbLqBtcjdXzlrNF8c9w+ymFvBQYdyAsh6yL+xnWddCMuGQvu55sWc6H2zdxMlNCX1mBlFMi/h84IvAajN7MZr2XXIBfK+ZXQ9sAj4XPbYYuAzoAHqBLxfx2g0j7Vk2Zvr5yc4LWLTuNNjaiqXt4Dfu0C7dUnfoOCR6AgbWj+bXb5zPPaPO5YQTd/CNmcu4uO1d2oPDb5pK/QlxnkqNZ9vA6CH/TSZMsKT7FE4Y+yojrbWM1dWmYQexuz/BeyMg76JB5nfgxuG+XiMoHK2QIUtHOsP3Oy9nxZoTSe5J5hb2YCFbjp50P+R3XgjJvQk6n5/Et9Z8gbYZXXxz3sNcNWojI61l/2xq9dSXbMHWz/ZsH491nXnUz/Fm/wSeH2jl/BZtSR1KS6NKFIZwZ7aXr27+KJ986Os898RJJHcnyxO2RQoGjNT60fzl4k/xoZXX8589YzWAv47tP4KuZzY9mZYj/8EgHu46hV1h33uGTzY6BXGVCHG6PcXf757DR5b/CY89dirJPYnS9fuWi4NljP51Y/jTxf+dT772GV5JD5DydNyVSYmFOOvSWVb3Th32c+xOt/No32R9YR9CQRyzrIekPcvLA1kuefmL/GTJx0lsbYFDGwvVGMJ5UW1Bv/Hmyqlcuexr/N2uBeyNWj5SH/LnkxjqDrpD5Q/0WNmt81AcSkEco6yH9PkA/7B7Llctu5Fdq4/F0jV+MIVBclcTdy39KJev+Tyvp/sHPZJPas+K1Ag294/ff3+wgziGIhUmeahnnlrFBRTEMdqR7eXaDX/Aj//r4yTfjfab1ngO51na2P7SRC5/7Gv7+451svDalPWQXWEfj3WfPOzwLRR6wPq+ibw0cOCKHo1OQRyDrIe8MtDHxc/dwOpnZhMMROlbeORbrSr8HxwSb7fw7aXX8Fc7TyftWbWKa1CI80jv1IPOJ1H0c7rxX12n0h2qiwIUxBWX9ZDH+5Nc8fhX6V835kBfcK0H8PtIdAX87JEPc+OWi9gXHuiqUDBXv6yHbMz0s7J7ZsmeM7CQ0AN2DIzi8f5j9DlAQVxRWQ95qK+dLy//Q4LOxhrUHqSMxx9fwJc3fJrdYR8ZdHKhapcbrpZhSfd80p4oSbcEHOhbDj3gye65bM32leR5a5mCuIJ+2zuSrz3yRZI7m+IuJRYWwppnZ/GF9Z+jKxyIuxwZgpcHEqzvO+6g8CylnkwLS3tmk6GxW8UK4jLLb4b/V28TX3/08wd2yjUiB8vCG6um84cb/hvdrv7BarYv7GdJ16llfY3AQlb3TmVdurF35iqIK+C5gSx/9MS1JHc1cAgXCuHVZ2fyjS0Xk/JMQ7eEqlVuX8YxvDMwqqyvE3qw/zwUjXwQkIK4zN7K9PKFFdeT2K4T4xSyEB57+hT+ZtcHNJ60Cm3N9vJk91yg9N0Rg9ncP54VqRFlf51qpSAug3x3xN6wjy+uvRZ/s3E/YIcVnWrz7icu4MHecTrgo0rkzyexuGfusM8nMRyhByzvms+ObE9Dfg4UxGWSIcv3tn6EbauPfOLsRpboCrjp6c/xRkZ7zqvF2oGQV3snl2zM8FDty7SytHc6Id5wYawgLoMQ5zc9E1j8zAew/FZ34+6HOKLE1ha+8toXtPMuZvlD7pd0L3jPFZkrIfSAF3umszHTeBcbVRCXwfZsHzev+gyJHi3eoXp7zUR+vPs0dVHEKMR5qn8UnamxsdWQCpMs6Z5PyjOx1RAHJUUJ5Y8Wu3nLJ2FzW9zl1BRLGz9e8fu8lk415KZp3LIesjNbuvNJDFfuPBTH8fJAoqE+AwriEsl/aJ7sb+KpF07KdUXowLGhiZZVclcTN73xWZ0IpsLyVwJ/pO8E9mWq44jPJV2n7j8cvhEoiEuozwf49tqrSHQF1Xsi92rmsH7NVJb1jY27koaRD7qOdIbnu0+ItTWcF3rArvQIftd/XMMc5BH/Uq8j93dP5d3Xo/O1Nsbnp3Si5ZXoM2599Qr6XIdAV0rKMyztmUcqrJ5D70MPeLp7NluzjXFxAQVxiXR7ih+8csmBU1rKsO17YyyLeqbEXUZDCHFeGEiyoe/YuEt5j55MCw/1zG2Ioy8VxCWyqHsa/ZvKezhoowjSxl+vvZhenRio7PaG/SzrWlAVXRKDebV3Mq+n63/zsjqXfo3ID7VKeZofrb9QreES6t4whmV9YzWcrUzyy/WJ/onsSo+o+MEbQxW6saR7AX0+UNefAwVxCaxINbF74ziNkigVh2DA+NGmj+k8FGXUme3l6e7ZcZfxvkIP6EyN5an+UXW9405BXKQMWf7x7YtI9GpRltqGjuPZkG7cM3KVS3642uLuk+jJtOy/unK1Cj3g0a557KzjHXfVu/RrQMIC3s2mWLl+Rm5C/X5hxyK5N8HP95wTdxl1ae1AyGt9k6q2S+JQ+zJtLO2dUbcnkFcQFyHrIUt7Z5DYVT3DfuqKw6KNpzbc4a7l1u0plnQvIHSr6pbwoV7qmV63W0i18y5UqV9uPRvLqHO4XHo6RzXEXvNKyXrIiv7RdKbG1lQIA6TCJpb01Od5KGrrnagiWQ/ZF/bz2lvHx11K/TJI9AQs7jot7krqxo5sL492zau5EIbcZZXe7D+GVQPNddc9UXvvRpVIWMBLAyOxd5s1WqJcoobwQ1vn192KV2n5YZZLe2ewL9NWM33DhfKXVVreNZ/dYV9dDW1UEA9T1kOWdZ2SGzusLeey2rJ1PPvCxjtHbSmFOBvSaV7qmZ67X4MtYsi1inelR/C7vkl1NZytNt+NKhDiPLa9usdg1rxoS8P2NLE+ox2ixUh7lge7F5D2RNylFC30gGd7ZrGljq7qUnQQm1nCzF4ws99E92ea2Qoz6zCzX5lZczS9JbrfET0+o9jXjlPK07y9c2zcZTSEYMBY2TerrjZFKyntWVYNNPNm/4SabQnn5evvybSwpOekutlxV4p35evA2oL7PwB+6O6zgd3A9dH064Hd0fQfRvPVrHeyGbJ71UorKz/ws2rfjJiLqV27w34e7jql5kP4UK/1TWJtmrr4ci7qnTGzqcDlwL9E9w24ELgvmuVu4FPR7Suj+0SPXxTNX5M2ZUYT9AfqH64Eh9d2N865aUsp7Vke7ZvM7nR73KWUXOjGkq5T6fZUzYdxsV+R/wD8KZBfChOAPe77txe2APnzGU4BNgNEj++N5q9Jr6UmEWQs149Zs18ntWPX3hG6csdRynrIW5k+VnbPqrvWMOS6KbYNjObp/rFxl1K0Yb87ZvZJYIe7P1fCejCzG8xslZmtSlO9V/XdmDo29/WT33yWskr3NtdNf2Al5IarZXioZx592ea4yymb0AMe6zqJrdnemv6iLuZr8nzgCjN7E/gluS6JHwFjzSwZzTMV6IxudwLTAKLHxwC7Dn1Sd7/D3c9y97OaaCmivPLqLLycj1rE5ZcK6Krxzc9KCnHWpI11vfV/wNG+TBvLemc1ZhC7+y3uPtXdZwBXA4+4++eB5cBV0WzXAYui2w9E94kef8Tda7ItmfWQd1P11+dWzSxtdIUJElZ/m9jl0B2mqvqE76W2umcqGzO1e0KgcrxL3wFuMrMOcn3Ad0bT7wQmRNNvAm4uw2tXTG+6YHOvJr9OaouFRn8djIGthKyHPJUaz7aB0XGXUjGpsIkl3afUbPdV8sizHJm7Pwo8Gt3eAJw9yDz9wGdL8XpxC3HSYaALNVeSQ1Z9QO8r3xrcmu3lya4PALkj0RqlVfxWajzPplo5vzVNgNXU1lPtVFplQjeFcIWFHtTspmelZMiyrHcW3dnq3b9SDrkvHGN59zx21+Dh8AriYUqYYrjSAgs1lvgIOtIZVvdM3X/VjUZpDef/193pdh6vwfNQNMa7VGIBRkuyNvuiapUH0ExIk6mf+HBSnmFJ9yl1cT6J4Qo94JnuE3krU1uXVVIQD9OopoIxzuq6LL/AabHa3SteCc+mWuvifBLF6ss281DPvJq68Gxjv2PDlLCAiW37cncUwhXhzSGjAoXwYLIesjPbw/Lu2jzhezms75vISwO1cx4KvWvDNLllL/uHTdRWd1RNsrYso4LG3eR+PyHOI3V6PonhyoQJlnUtqJnzUCiIh2leW6dawxXUPjJFqyVrakhSpdTz+SSKsW1gNE/0j4u7jCHROzdMJza9Q9ispnClTBmzl0Af14NkPaQ3HKj780kMV+gBT3bNZUe2t+pbxfpkD9PkxADhiNrZGVDTDE4b10mgTZD3eHkg0RDnkxiu7mwLi3tmV/2OOwXxMI1PtNA+vlfdE+UULVtPOB8cuUHdEofo9hTLuuvvhO+lFHrA6t6prEsriOtSkgQnHbsjt6NOYVwe0bLNtoec2dJ5xNkbSdqz/K5vAjsGRsVdStUL3VjSfQq94UDcpRyWgrgIFx/zam4Jqqu4rJon9DMpoT5QYP91+7Zk+niye65aw0MQesDm/vE8nWoj7dU5Fl3vYhF+v3092RHV96bWjWh44OlTOmmxkpyfqi5kyLK0dy49mcY6n0QxQg9Y3jWfndnqvPKzgrgI05IBrRN74i6jfjl40vnMsc+rf7jAunSWV3snx11GzdmTbud3fdOqcsedmhnDlLCANpq58IT1LHnjDHVPlEl2bIYPtW0GRsZdSlXo9hRLuhcQuhGYtsaO1nM9Mzi9pZO5TdV1kQEFcZGumfA0i1sXkujTHrtymD1zOxMTbXGXUTXezjgJnBmtu3R+5qOUiFpLGzLjmdvUG3M1B1MQF2lBc4rWKd1kOkapUVxinnS+NPUpjR8uMLuphRvHrdt/Xwe5DF3IgS2IhDXFWMl7KYiL1GpJPjvnBX7xxofVPVEq0U46n5jikva3SNiIuCuqGrnTgOqcG8NTvctNX6dFSpLgS2NXkBmn8xOXTDR++JKT1zIqaK7K4UYipaQgLkK+s396sp1zTnlDB3aUQrQMM2Oy/PGxj5Cs4laMSKkoiIuUD+NvT36IzKjqGxZTc6LunYXzNzK7SeNkpTEoiEsgYQELmo3TT9mkVnEJZMZk+d6039JkuSFG1TTMSKQc9AkvkSQJ/uKERWTGqFVcFIPzTlvPgmZ9o0njUBCXSMIC5jU18bGFr6hVXITMsWm+P/X/qW9YGoqCuIQCjD+btIRwSr/CeBg86Vx75tNMT+oADmksCuISm5Jo58/O+q2u3jFUduBn1Jw9fGP8Sh3AIQ1HQVxC+R1Lnxu5hTmnb467nNoQfV9lxmT5x1N/weigFUA76KSh6NNeBi2W5PYTf4VP6z/Q4pODFSwXTzrXnvckZ7e4RklIQ9InvkymJ9v527N/fWBsscL4gMJlEcDMD3Ty7QnPqUtCGpaCuIwub9/Ll85/grDJdR6KQs7+5ZGY0c2dc+6hzXQFDmlcCuIyyG9eBxjfmvA855yzDk+gVrEd/Dtz3AA/++BdTEm0q0tCGpo++WWUsIA2a+a26b/hhIWd7wmihhKdUQ1yvzNjs/zwQ79iYbMCWKSoNcDMxprZfWb2mpmtNbPzzGy8mS01s/XR73HRvGZmt5lZh5m9bGZnlOZfqH5jglb+fe4vmLDgncb96suHsEF2VMitH/lP/qB9X3RaR5HGVmws/Ah4yN1PBk4H1gI3Aw+7+xzg4eg+wCeAOdHPDcDtRb52TUhYQJMlOC7Rzn0Lfsq4U3Y2Zos4khmV5XsXLuKaUZ1qCYtEhr0mmNkY4MPAnQDuPuDue4Argbuj2e4GPhXdvhL4mec8A4w1s0nDff1ak7CASYl27j/1X5m68O1cnzE0Rijn+4THZfjzC+/nS6PfpqXKrpAgEqdimiQzgXeAfzWzF8zsX8xsBDDR3bdG82wDJka3pwCFRzlsiaY1jP1hfPI9nHHe63h+NEU9h3H0v2Unp/jJRT/lmlHb1RIWOUQxa0QSOAO43d0XAj0c6IYAwN0LBioNjZndYGarzGxVmlQR5VWv0UErP53xIFdf9CTZkXV+9QmDtpP2cP8Ft/PRtn6NFRYZRDFBvAXY4u4rovv3kQvm7fkuh+j3jujxTmBawd9PjaYdxN3vcPez3P2sJurvxOD5YVrtQTO3Hvsif3PxPYST6/MIvLDFWfh7r7PkjH/mAy0t+88vLCIHG/Za4e7bgM1mdlI06SLgVeAB4Lpo2nXAouj2A8C10eiJc4G9BV0YDSnAuGLEbh788D8y/czO3IEf9cAgM3GA71z6AD+d8SDHJdrjrkikqhV7Fec/Bn5uZs3ABuDL5ML9XjO7HtgEfC6adzFwGdAB9EbzNrQQJ8A4MdnGopPv5e7Jc/i7lR8nsa2lNo/Es1wreM5pm7ntxHuZmWwl0IXCRY6oqLXE3V8EzhrkoYsGmdeBG4t5vXpTOIZ2pLXyR2M2cdlHbuOWLVfw7ItzSHTVzma8JyB5Qjf/5/TFfHrEVlqsTd0QIkOk5koVSVjAzKaR3D1jCS9MWsotb3yGTWuPJ9FbhYGWP3NaAD6pn+tPe4qvjHueMUEzga6uIXJUFMRVKEmCM1uc3877Nc/OauUv37yM11+fTHJv9QScJ51gSi9fOeVprh3zQtQPrCtriAyHgrgKJSwAD2mxJBe0Zjj/5EV0nJjin975KA+9Ph/f3kIwEMMQiwAyo7NMm/kOX53xKJ8Y8TYjrQVoVzeESBEUxFWqMNgSwLzmdn40+Wn2Hb+cx/uP4d+3n8fzm6bj77QQpOzAgSHvt5PvSI8PMo8nIDsqyzFT9/Dp6S/x6dEvMKupiSQJEqYWsEgpKIhrSMICRgetXN7ezeUzl9I9I8XagWYe7DqN5dvm8vbOsYR7mgn6DcvYe0P3SCEcQLbF8REZRk7oZeHxW7hk/Cv8XusmJidboisr61JGIqWmIK5B+RAcY218sCXkgy2r+e4xL9LvGbZnQzakx/Nq/xTW9U5ka98YdvW1093fQiYbEIa5v00kQtqa04xu7efYtm5mte9kbts2Tm3ZwuTEAGOCZlos//FQ14NIOSmIa8yhgZi/nyCgxZoYE8DcphSXtm+A8RsAyHpIOEhzOH+48cHP2Rz9iEilKIgbQMI0oEykmml7U0QkZgpiEZGYKYhFRGKmIBYRiZmCWEQkZgpiEZGYKYhFRGKmIBYRiZmCWEQkZgpiEZGYKYhFRGKmIBYRiZmCWEQkZgpiEZGY6TSYUlW6w36+sukytvWMjrsUqULfnvUQl7b11t2FChTEUlX2hBnW3nsyo9/KYn6kaztJo3DLXcTgzm9ewMUnPlR359dWEEtVya9gCmEplP88BOb7ryxTT+qrfS81L2H1t5KJHImCWERqSr31D4OCWEQkdgpiEZGYKYhFRGKmIBYRiZmCWEQkZkUFsZl908xeMbM1ZnaPmbWa2UwzW2FmHWb2KzNrjuZtie53RI/PKMl/ICJS44YdxGY2BfgT4Cx3X0BuLP7VwA+AH7r7bGA3cH30J9cDu6PpP4zmExFpeMV2TSSBNjNLAu3AVuBC4L7o8buBT0W3r4zuEz1+kZlG74uIDDuI3b0T+FvgLXIBvBd4Dtjj7ploti3AlOj2FGBz9LeZaP4Jw319EZF6UUzXxDhyrdyZwGRgBHBpsQWZ2Q1mtsrMVqVJFft0IiJVr5iuiY8BG939HXdPA/cD5wNjo64KgKlAZ3S7E5gGED0+Bth16JO6+x3ufpa7n9VESxHliYjUhmKC+C3gXDNrj/p6LwJeBZYDV0XzXAcsim4/EN0nevwRd51iS0SkmD7iFeR2uj0PrI6e6w7gO8BNZtZBrg/4zuhP7gQmRNNvAm4uom4RkbpR1PmI3f1W4NZDJm8Azh5k3n7gs8W8nohIPdKRdSIiMVMQi4jETEEsIhIzBbGISMwUxCIiMVMQi4jETEEsIhIzBbGISMwUxCIiMVMQi4jETEEsIhIzBbGISMwUxCIiMVMQi4jETEEsIhIzBbGISMwUxCIiMVMQi4jETEEsIhIzBbGISMwUxCIiMVMQi4jETEEsIhIzBbGISMwUxCIiMVMQi4jETEEsIhIzBbGISMwUxCIiMVMQi4jETEEsIhIzBbGISMyOGMRmdpeZ7TCzNQXTxpvZUjNbH/0eF003M7vNzDrM7GUzO6Pgb66L5l9vZteV59+ReuNm+tFP3B/DshtKi/inwKWHTLsZeNjd5wAPR/cBPgHMiX5uAG6HXHADtwLnAGcDt+bDW+Q9jIZZAWVo8p+HwDzuUsoieaQZ3P0xM5txyOQrgY9Et+8GHgW+E03/mbs78IyZjTWzSdG8S939XQAzW0ou3O8p/l+QetJuCS74/HNs6x+1f1q9rnwyNKEfCOD/MelRsh6SsPrqVT1iEB/GRHffGt3eBkyMbk8BNhfMtyWadrjpIgdpsSZ+OPkpAAJyLeJ6W+nk6GU9JMT3fybqzXCDeD93d7PSNVnM7AZy3Rq00l6qp5UaEWAkLCDr4f5phbelceU/G/VouEG83cwmufvWqOthRzS9E5hWMN/UaFonB7oy8tMfHeyJ3f0O4A6A0TZe26QNJr+i1esKJzKY4X7aHwDyIx+uAxYVTL82Gj1xLrA36sJYAlxsZuOinXQXR9NERBreEVvEZnYPudbsMWa2hdzoh78C7jWz64FNwOei2RcDlwEdQC/wZQB3f9fMvg+sjOb7i/yOOxGRRjeUURPXHOahiwaZ14EbD/M8dwF3HVV1IiINQB1xIiIxUxCLiMRMQSwiEjMFsYhIzIo+oKMSej1Li2fjLkNE5KikPD2k+ao+iNtf3sIffPd/gQE6vENEaonBMU9sJXOE2ao+iDNbtzH237bFXYaIyLAcKYQBLDf0tzqZWRewLu46juAYYGfcRRxBLdQItVGnaiyNRqzxBHc/drAHqr1FvM7dz4q7iPdjZqtUY2nUQp2qsTRU48E0akJEJGYKYhGRmFV7EN8RdwFDoBpLpxbqVI2loRoLVPXOOhGRRlDtLWIRkbqnIBYRiVnVBrGZXWpm68ysw8xujrGOaWa23MxeNbNXzOzr0fTxZrbUzNZHv8dF083MbovqftnMzqhgrQkze8HMfhPdn2lmK6JafmVmzdH0luh+R/T4jArVN9bM7jOz18xsrZmdV23L0cy+Gb3Pa8zsHjNrjXs5mtldZrbDzNYUTDvq5WZm10Xzrzez6wZ7rRLX+DfRe/2ymf1fMxtb8NgtUY3rzOySgullW+8Hq7HgsW+ZmZvZMdH9yi5Hd6+6HyABvAHMApqBl4D5MdUyCTgjuj0KeB2YD/w1cHM0/WbgB9Hty4AHyR2UfS6wooK13gT8AvhNdP9e4Oro9o+B/xnd/irw4+j21cCvKlTf3cBXotvNwNhqWo7kriy+EWgrWH5fins5Ah8GzgDWFEw7quUGjAc2RL/HRbfHlbnGi4FkdPsHBTXOj9bpFmBmtK4nyr3eD1ZjNH0auUu3bQKOiWM5ln3lG+YCOw9YUnD/FuCWuOuKalkEfJzcEX+TommTyB18AvAT4JqC+ffPV+a6pgIPAxcCv4k+QDsLVoT9yzT60J0X3U5G81mZ6xsThZwdMr1qliO5IN4crWTJaDleUg3LEZhxSMgd1XIDrgF+UjD9oPnKUeMhj30a+Hl0+6D1Ob8cK7HeD1YjcB9wOvAmB4K4osuxWrsm8itE3pZoWqyiTc+FwApgoucujAqwDZgY3Y6r9n8A/hTIX3t+ArDH3fOHuhfWsb/G6PG90fzlNBN4B/jXqPvkX8xsBFW0HN29E/hb4C1gK7nl8hzVtRzzjna5xb1O/SG5FibvU0vFazSzK4FOd3/pkIcqWmO1BnHVMbORwH8A33D3fYWPee6rMbZxgGb2SWCHuz8XVw1DkCS3WXi7uy8EeshtUu9XBctxHHAluS+NycAI4NK46hmquJfbkZjZ98id++bncddSyMzage8C/zvuWqo1iDvJ9dvkTY2mxcLMmsiF8M/d/f5o8nYzmxQ9PgnYEU2Po/bzgSvM7E3gl+S6J34EjDWz/PlECuvYX2P0+BhgV5lr3AJscfcV0f37yAVzNS3HjwEb3f0dd08D95NbttW0HPOOdrnFsk6Z2ZeATwKfj74wqqnGE8l96b4UrTtTgefN7PhK11itQbwSmBPtrW4mtyPkgTgKMTMD7gTWuvvfFzz0AJDfY3odub7j/PRro72u5wJ7CzYhy8Ldb3H3qe4+g9yyesTdPw8sB646TI352q+K5i9ri8rdtwGbzeykaNJFwKtU0XIk1yVxrpm1R+97vsaqWY4Fjna5LQEuNrNxUcv/4mha2ZjZpeS6y65w995Dar86GnUyE5gDPEuF13t3X+3ux7n7jGjd2UJux/w2Kr0cS9kRXuJO9cvIjVB4A/hejHV8iNxm38vAi9HPZeT6Ah8G1gPLgPHR/Ab8U1T3auCsCtf7EQ6MmphF7gPeAfwaaImmt0b3O6LHZ1Wotg8Aq6Jl+Z/k9jpX1XIE/hx4DVgD/Bu5PfuxLkfgHnJ91mlyYXH9cJYbuX7ajujnyxWosYNcf2p+vflxwfzfi2pcB3yiYHrZ1vvBajzk8Tc5sLOuostRhziLiMSsWrsmREQahoJYRCRmCmIRkZgpiEVEYqYgFhGJmYJYRCRmCmIRkZj9f45z4Zw9w8KgAAAAAElFTkSuQmCC\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": "<Figure size 432x288 with 1 Axes>", | |
"image/png": "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3DiTmJhofR3pV2i/srOzTWFhobn44ovP+jEJCQnm/fffN4sWLWobruwSX1OmTDElJSUmPT3dAFtO13Wd/kRsjPk7vnI9lSmnWN4At3b2+boal8vFoEGDGDp0KCUlJXz00UfWx9eMMRw9epTNmzfjcrlIT0/n/PPPp7Gxkby8POrr663mU8HndruZP38+77//foc2vh07doyFCxfy/PPP89prr/H5558HMWXk0cNewlBWVhajRo1i//79rF+/npaWFtuRvqa1tZXKyko2btxIRkYG559/PsePH2fr1q00NjbajqeC5Lvf/S6TJk3isssu6/Dr8m9/+xsbNmxg3rx53Hjjjbq9oR09xDmMJCQkMHXqVPr06cOGDRvIz88PyxL+qsOHD7Nx40b27dvH5MmTyc7Opv3eMyo6JCQksGDBAlasWMHevXs7/PiWlhYefPBBJkyYwA9+8IMgJIxcWsRhQEQYNmwYF110EZ9++ilbtmyhqanJdqwOKysr49133yUxMZFLLrlEz0sbZW644QYSEhL82vNhz549rFy5knvuuUdfH+1oEVsWHx/P5MmT8Xg8rF27lqqqKtuR/OL1etm2bRubN29m0qRJZGdn246kAuCcc87h5z//OUuXLvXrNWqMYcWKFSQkJHDjjTcGLmCE0yK2qFevXkydOpXPPvuMbdu2RdWBE7W1tbz77rtkZGQwfvx4XC59qUUql8vF7NmzKSws5M9//rPf3+/IkSMsWbKEWbNm6XkoHPrusCQnJ4cxY8awbt06KioqzvyACOT1etm0aRPV1dVMnTqVbt262Y6kOmHs2LFce+21LF68OGAb2N555x3y8/OZM2eO/pJGizjkRIRRo0bRs2dP1q1b1yX2MCgoKGDbtm1MnTqV5ORk23FUB8TFxZGbm8sLL7zA9u3bA/Z9m5ubWbRoEdOmTWPixIkB+76RSos4hESEiRMnIiJ8+OGHATkaLlJUVFTw/vvvc9FFF5GSkmI7jjpL06ZNY/DgwTz55JMBf71u27aNl19+mXvuuYf4+PiAfu9Io0UcIm0lXFtby/bt27tUCbepr69nw4YNfPe739UyjgAZGRnce++9LFu2jAMHAn9amNbWVlasWMHQoUO5+uqrA/79I4kWcYiMHz+e2traLn9EUUNDw8ky1mGK8CUi3HzzzZSXl/PKK68E7XlKSkp45JFHuPfee0lPTw/a84Q7LeIQaLuIYlcv4TYNDQ1s3LiRSZMm6Qa8MJWTk8PMmTNZunRp0A+tf/HFFzl06BC33nprlz0QSIs4yPr160dmZiabN2+2HSWs1NfXs2XLFr7//e/rVvMwExsby/z581m3bh3/93//F/Tna2hoYMmSJdx0002MHDky6M8XjvQdEEQ9evRg1KhR/OMf/+iSY8JnUl5ezp49e5gwYYLtKKqd733ve4wfP55f/epXITvV6Ycffsj69euZM2fO1y5g0BVoEQeJ2+3mwgsv5IMPPtCTm3yDvXv34vV6GTJkiO0oCkhMTCQ3N5ff/e537Nu3L2TP6/V6efDBB7nwwguZPHlyyJ43XGgRB8l5553Hzp07OXr0qO0oYW/Lli0MGzaMxMRE21G6vJtuuomYmBh+97vfhfy5i4qKePbZZ1mwYAEJCQkhf36btIiDIDMzk/j4+G+8PJH6J6/Xyz/+8Y+T+1grOwYOHMjtt9/Oww8/TE1NjZUMTz75JG63mxtuuMHK89uiRRxgMTExjB07VjfOdVBtbS2HDh3SIQpLYmJimD17Nlu3bg3I+SQ6q7q6mqVLlzJr1iwGDBhgLUeoaREH2Le+9S327NnDiRMnbEeJOPn5+QwdOpS4uDjbUbqcCRMm8K//+q8sWrTI+ilY//KXv5Cfn8/tt9/eZfao6Ro/ZYgkJiaSmZnZqZNmK98Qxfbt2xk7dqztKF1Kt27duO+++1i5ciX5+fm249Dc3MzixYu5+uqrOf/8823HCQkt4gAaPXo0W7Zs0V3V/HDw4EESEhK63MYam6655hqysrJ46qmnwua1m5eXxwsvvMB9993XJf5C0iIOkKSkJOLi4iL+xO7hIC8vj29/+9u2Y3QJvXr1Yt68eTz88MMcOnTIdpyTjDE8+eSTDBw4sEuch0KLOEBGjRpFXl6e7RhRobKykoSEBDwej+0oUU1EmD17NpWVlbzxxhu243zNwYMHWbZsGfPmzaNnz5624wSVFnEAxMfHEx8fz5EjR2xHiRp5eXl6maUgGzlyJD/+8Y9ZsGBB2G5cfvXVVzl48CC33HJLVO/aqEUcAP379w+rP+uiQWVlJT169CAmJsZ2lKgUFxfH/fffz5o1a0JyPonOOn78OA888AC33HIL5557ru04QaNF7CcRISsri8LCQttRos6+ffv4zne+YztGVJo8eTLnnXcejz32WNhfK3HTpk2sXbuWu+++O2p/MWsR+yk5OZnW1tYuccmjUKuurqZv37643W7bUaJKjx49yM3N5b//+78jYldLr9fLQw89xIQJE/j+979vO05QaBH7qW/fvuzevdt2jKhUX19PVVUVGRkZtqNElX//93+nubmZ5557znaUs7Z//36eeuopcnNzo/KcJFrEfmgbltBd1oKnqKiIwYMH244RNbKzs7n11lt5+OGHqaursx2nQ5599llcLhfTp0+3HSXgtIj9kJiYSGNjo/VDQqNZeXk5ycnJXeZQ12CKiYnhzjvvZNOmTbz77ru243RYbW0tS5cu5fbbb6d///624wSUvrr9kJWVRWlpqe0YUa25uZkTJ07okXYBMGnSJC6//HIWL14csefIXrduHTt27OCXv/xlVO3OpkXshx49elBWVmY7RtSrqKigV69etmNEtMTERBYuXMgf//jHiN6m0dLSwuLFi7nqqqs477zzbMcJGC3iThIRevToEbY7wkeT8vJysrKybMeIaNdddx2pqan89re/DZvzSXTWjh07eP7558nNzY2ai8/6XcQiEiMiW0XkHef+IBHZLCKFIvInEYlzpndz7hc68wf6+9w2xcfH09LSErJrenVldXV1JCQk6DhxJ/Xp04c5c+bw4IMPUlFRYTuO34wxrFixgt69e/OjH/3IdpyACMQrexaws939h4FHjTHZQDVwszP9ZqDamf6os1zESklJCfplxpVPU1MTzc3NUbszfzCJCHPmzGH//v2sWrXKdpyAqaqqYvny5cydOzcqzkPhVxGLSF/gCuD3zn0BJgOvO4usBK5ybk9z7uPMnyIRPNqenJxMZWWl7RhdRlNTU9T8GRpKo0eP5uqrryY3NzfqDjp66623OHjwIDfddFPEb7jz9xPxY8DdQNsxkulAjTGmxblfCrQN7mUBJQDO/Fpn+YiUmJhIQ0OD7RhdRlNTkx7Y0UHdunVjwYIFrFq1ii1bttiOE3AnTpzgV7/6FbfccgtDhw61HccvnS5iEfkRUGGM+SSAeRCRmSKyRUTC+pWTkZGhG+pCqKamRsfjO+jKK69k5MiREXE+ic766KOPWLNmDffdd19ED13584n4QuBKESkGXsE3JPEbIEVE2k4O0Bc44Nw+APQDcOYnA187b6Qx5mljzDhjzDg/sgVdQ0ODjhGHUFNTE4MG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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3", | |
"language": "python" | |
}, | |
"latex_envs": { | |
"eqNumInitial": 1, | |
"eqLabelWithNumbers": true, | |
"current_citInitial": 1, | |
"cite_by": "apalike", | |
"bibliofile": "bib.bib", | |
"LaTeX_envs_menu_present": true, | |
"labels_anchors": false, | |
"latex_user_defs": false, | |
"user_envs_cfg": false, | |
"report_style_numbering": false, | |
"autoclose": false, | |
"autocomplete": true, | |
"hotkeys": { | |
"equation": "Ctrl-E", | |
"itemize": "Ctrl-I" | |
} | |
}, | |
"toc": { | |
"nav_menu": {}, | |
"number_sections": true, | |
"sideBar": true, | |
"skip_h1_title": false, | |
"base_numbering": 1, | |
"title_cell": "Table of Contents", | |
"title_sidebar": "Contents", | |
"toc_cell": false, | |
"toc_position": {}, | |
"toc_section_display": true, | |
"toc_window_display": false | |
}, | |
"varInspector": { | |
"window_display": false, | |
"cols": { | |
"lenName": 16, | |
"lenType": 16, | |
"lenVar": 40 | |
}, | |
"kernels_config": { | |
"python": { | |
"library": "var_list.py", | |
"delete_cmd_prefix": "del ", | |
"delete_cmd_postfix": "", | |
"varRefreshCmd": "print(var_dic_list())" | |
}, | |
"r": { | |
"library": "var_list.r", | |
"delete_cmd_prefix": "rm(", | |
"delete_cmd_postfix": ") ", | |
"varRefreshCmd": "cat(var_dic_list()) " | |
} | |
}, | |
"types_to_exclude": [ | |
"module", | |
"function", | |
"builtin_function_or_method", | |
"instance", | |
"_Feature" | |
] | |
}, | |
"gist": { | |
"id": "", | |
"data": { | |
"description": "khoidd/cv-practice/hough-transform.ipynb", | |
"public": true | |
} | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment