Skip to content

Instantly share code, notes, and snippets.

@mitmul
Created September 20, 2017 09:05
Show Gist options
  • Save mitmul/97697531ff80fd03e1fc5bd8a9753d5c to your computer and use it in GitHub Desktop.
Save mitmul/97697531ff80fd03e1fc5bd8a9753d5c to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAT8AAAD8CAYAAAABraMFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE1lJREFUeJzt3V2sHOV9x/HvrybhgiABJbUsY2qD3EiAKgcswgUg0hdi\nUFXDDTWqFDdBPSCBlEitWghSQe1lQyJFaYgcxTJEqQE1BSxEG6iVhF6UBJO4xrzbxBSfGruBCkgT\nJTH8e7GzZDicc3Z33mee30da7e7syzyzM/Pb55lnXhQRmJml5jfaLoCZWRscfmaWJIefmSXJ4Wdm\nSXL4mVmSHH5mlqTawk/SJknPSzog6ea6xmNmVoTq2M9P0grgBeAPgcPAE8C1EfFM5SMzMyugrprf\nhcCBiHgpIn4J3ANsrmlcZmYzO6Gm710NvJJ7fhj42FJvluTDTMysEhGhad5XV/hNJGkOmGtr/GaW\ntrrCbx5Yk3t+RjbsXRGxDdgGrvmZdcVSfQDSVJWpXqlrm98TwHpJ6yR9ENgC7KppXGbJi4hFb7O8\nd7nOz0mv91EtNb+IOC7pJuDbwApge0Q8Xce4zLqkawExa3mWquGNv2d8P4SaYC27usxcCDd7bSC6\nsD6VMSn8Jr2vCzrf4WHWZX0LsWlDa7n3TvP9+RpglwNwGg4/670uBVXXAqHq8uRDsO8B6PCz2nQp\nlGbV55W6CZJ6H4AOvwHpc9iU0deVr+/6HoAOvykU6TFLNYjy+rhCWDocflRfY2or+Bw2ZtNLNvxm\nCahZQ6WvzQCzWeWbvuPnfZFU+DV16E6fFgCzVCURflXt62TpqXMTRp3L4KRye/n3aezNLFGDr/nl\n/wH9b5emrva8F22RVDE9Xi8GHn593Ahr02si1JpumlY1TZPKnR9Pqh10gw0/B99wVXWmkrYtVq5p\npq2K6cl/R593VC5jkOHn4HuvJpt9df/mQ2+uDXGaumqQ4ZeKLm7LqnN3Iv+p1aPvh6kVNbjwa2oF\nKRs8s2yTKavJBXq5swentGJZ9w0u/OrSxUPguhgmy51Xrswfk2t99Uqx9ufwm0IdO0mnthNq/mQP\nKa1g1l0OvwnqqnGkuPIP6USYQ5Ra7a/wER6S1kj6jqRnJD0t6TPZ8NslzUvam92urK64ZmbVKHwB\nI0mrgFUR8UNJJwNPAlcB1wA/jYjPz/BdlW1Qq7Km5u1M9Sjyu3peNKPMvJn1c3Wp/QJGEXEEOJI9\nfkvSs8Dqot/XNV7ZzIatkhMbSFoLfBT4fjboJkn7JG2XdGoV4zAzq1Lp8JP0IeBbwGcj4k3gTuBs\nYAOjmuEdS3xuTtIeSXvKlmHB9wLldiVxrc9s+EpdtFzSB4CHgG9HxBcWeX0t8FBEnDfheyrdia5s\neDn86uVtft2V0ja/Mr29Ar4OPJsPvqwjZOxqYH/RcZhZs6poOfVFmd7ei4F/B54C3skGfw64llGT\nN4BDwPVZ58hy39WJml/X/sGGyjW/bpv1t+7aejNtza9Us7cqDr+0OPy6LZXw82nszayUhecG7AuH\nn5klyeFnZkly+JlZkgYZfil115tZMYMMPzOzSRx+OZJcazRLhMPPesF/SlY1h5+ZJcnhZ2ZJcviZ\nWZIcfmaWJIefmSXJ4WdmSXL4mVmSHH5mliSHn5klyeFnZkly+FnjfKiadcEJZb9A0iHgLeBt4HhE\nbJR0GnAvsJbRRYyuiYj/LTsuM7OqVFXz+3hEbIiIjdnzm4HdEbEe2J09NzPrjLqavZuBu7LHdwFX\n1TQeM7NCqgi/AB6R9KSkuWzYyty1el8FVi78kKQ5SXsk7amgDO/j7UpmxaSy7pTe5gdcHBHzkn4L\neFTSc/kXIyIWuy5vRGwDtkH11+01M5ukdM0vIuaz+2PA/cCFwFFJqwCy+2Nlx2NmVqVS4SfpJEkn\njx8DlwP7gV3A1uxtW4EHy4zHzKxqZZu9K4H7s20EJwD/GBH/KukJ4D5J1wEvA9eUHI+ZWaXUhY2a\ndW3zG0/beANu3Z+z6XnedNusv3M+R9qeNxExVQF8hIeZldbHKx86/MwsSQ4/M0uSw8/MkuTwM7Mk\nOfzMLEkOPzNLksPPWtG33SJseBx+ZpYkh5+ZJcnhZ2ZJcviZWZIcfmaWpCrO5GxmievSWV2m5Zqf\nmSXJ4WdmSXL4mVmSHH5mlqTCHR6SPgLcmxt0FvA3wCnAnwP/kw3/XEQ8XLiEZtY4SUTEoC8bUMk1\nPCStAOaBjwGfAn4aEZ+f4fO+hkeCivzOnjfNmaUHt0u9vU1fw+P3gYMR8XJF32dmVquqwm8LsDP3\n/CZJ+yRtl3RqReOYWf7MIT57iJnllW72Svog8N/AuRFxVNJK4CdAAH8HrIqITy/yuTlgLnt6QalC\nLKNIddxNq2a42dttQ2/2VhF+m4EbI+LyRV5bCzwUEedN+I7aqmVFZ4pXsvo5/Lpt6OFXRbP3WnJN\nXkmrcq9dDeyvYBxmZpUqVfOTdBLwX8BZEfFGNuwbwAZGzd5DwPURcWTC97jmlyDX/Lpt6DW/SnZ1\nKcvhl65Zf2fPl+YMPfx8hIeZJcnhZ73iCx9ZVQZ9Pj83kcxsKa75mVmSHH5mliSHn5klyeFnZkly\n+JlZkhx+ZpYkh5+ZJWnQ4efz+ZkVk99Hdqj7yQ46/MzMluLwM7N3Fb1oUb6G2JdW1qAPbzOz6SwM\nrKE2dfMcftY7fb6s4rS1oqamKcXQG3Oz18yS5JqftaYPNbe2tl81Pd4uz4O6OPysl8ZNX+jPBnaY\n/YzVdUsx9MYcftaKKmp9TfQuthUOKYdSU6ba5pddfPyYpP25YadJelTSi9n9qdlwSfqSpAPZhcvP\nr6vwdepbt/0sxp0Fi92aGhdUt4KPd7Oo42bDNW2Hxw5g04JhNwO7I2I9sDt7DnAFsD67zQF3li9m\nO4YSgLME3HLBWOS2FAdL/aqYT0M2VbM3Ih7LLkCetxm4LHt8F/Bd4K+z4XfH6Bd9XNIpklZNunxl\nVy3crSI/vElVLqDLlb3qFcEhV05TwdSlq681pcw2v5W5QHsVWJk9Xg28knvf4WxYL8MP3rtxfayK\nhXKahayp8RR5r9WjqsArcqnW/OOhLwuVdHhERMx67V1Jc4yaxb2wcEGoYgGd5TuGviCmaJr539R8\nz48n34s+5OWuTPgdHTdnJa0CjmXD54E1ufedkQ17j4jYBmyDei9aXpcqFoouLfx16OI2vz5s32p7\nni/W0hmiMkd47AK2Zo+3Ag/mhn8y6/W9CHijr9v7zGy4NGXtYyejzo3TgaPAbcADwH3AmcDLwDUR\n8bpGf1tfZtQ7/DPgUxGxZ8L31/Y305cNuV2rJTXxz1/1dPWtttLl5RGKrTtd2F4YEVONfKrwq1uK\n4dfG777U9NdVlml7lcvOF287rcfQw89HeJTQt91PuhQSCw9PKzK+tnc/sn5z+M2ojd0Qqlqplyp7\nm4dwtfF7moHDb2qLraR9W+G6WN78TuRF90vr4nRZ9w3+fH6L7b80q4Urmo/7NOu/wYdfWfkNuA48\ns+X16Xh4h98yutBzZWb1cPiZWZIcfmaWJIefmSUpifDLd1b0YUOsmdUvifAzM1vI4WdmSXL4mVmS\nHH5mliSHn7XOnVHWBoefmSXJ4WdmSXL4mVmSHH5mlqSJ4Sdpu6Rjkvbnhv29pOck7ZN0v6RTsuFr\nJf1c0t7s9tU6C29mVtQ0Nb8djK7ElvcocF5E/C7wAnBL7rWDEbEhu91QTTHb4V5Is+GaGH4R8Rjw\n+oJhj0TE8ezp44wuTG5m1htVbPP7NPAvuefrJP1I0vckXVLB95tZj/SlxVTqAkaSbgWOA9/MBh0B\nzoyI1yRdADwg6dyIeHORz84Bc2XGb2ZWVOGan6Q/A/4I+NPIIj4ifhERr2WPnwQOAr+z2OcjYltE\nbIyIjUXL0IS+/IuZ2WwKhZ+kTcBfAX8cET/LDf+wpBXZ47OA9cBLVRTULK+Kq/JZ2iY2eyXtBC4D\nTpd0GLiNUe/uicCj2UL4eNazeynwt5J+BbwD3BARry/6xWZmLVIX/jUlNVKIoldj81Xc6lfkN/aF\ny+tV5vdtc52JiKlG6iM8zCxJDj8zS5LDz8yS5PAzs0UNvUfd4WdmSXL4TeCeXrNhcviZWZIcfmaW\nJIefmSXJ4WdmSXL4mdmSJA32zEYOPzNLksPPzJLk8DOzyvWhqZxU+PVhhqTK88aallT4mZmNOfzM\nLElJhZ+P0x2WIe+GYfVLKvzMzMYmhp+k7ZKOSdqfG3a7pHlJe7PblbnXbpF0QNLzkj5RV8HNzMqY\npua3A9i0yPAvRsSG7PYwgKRzgC3AudlnvjK+lKWZWZdMDL+IeAyY9vKTm4F7souX/xg4AFxYonxm\nZrUos83vJkn7smbxqdmw1cArufcczoa9j6Q5SXsk7SlRBjOzQoqG353A2cAG4Ahwx6xfEBHbImJj\nRGwsWAYzs8IKhV9EHI2ItyPiHeBr/LppOw+syb31jGyYmVmnFAo/SatyT68Gxj3Bu4Atkk6UtA5Y\nD/ygXBHNzKp3wqQ3SNoJXAacLukwcBtwmaQNQACHgOsBIuJpSfcBzwDHgRsj4u16im5mVpy6sGe8\npEYKUeQIDx8V0pyiv7XnUf36tO5ExFQj9BEeZpYkh5+ZJcnhZ2ZJcviZ2URFzp7T9TPuOPzMLEkO\nvwm6/u9lZsU4/MysFl3fBcnhZ2a16HqryeFnZkly+Fln5GsKXa0t2HA4/MwsSQ4/M0uSw8/MauHe\n3g4p2vvU9V4rM5vdxPP5mTWl6zUFG5akan5mZmMOP+s9b5awIpILP68oZs3o+ro2Mfyy6/Iek7Q/\nN+xeSXuz2yFJe7PhayX9PPfaV+ssvJlZUdN0eOwAvgzcPR4QEX8yfizpDuCN3PsPRsSGqgpoZu0b\nYmfUxPCLiMckrV3sNY1+iWuA36u2WGZm9Sq7ze8S4GhEvJgbtk7SjyR9T9IlJb/fzKwWZffzuxbY\nmXt+BDgzIl6TdAHwgKRzI+LNhR+UNAfMlRy/mdUo31kxpCYvTHnd3qzZ+1BEnJcbdgIwD1wQEYeX\n+Nx3gb+MiD0Tvr/R7qCy14ct8lmbrMx2pSFuk+qCsst8G/Oliev2/gHwXD74JH1Y0ors8VnAeuCl\nEuMws5YM/c9+ml1ddgL/AXxE0mFJ12UvbeG9TV6AS4F92a4v/wTcEBGvV1lgM6tX/nyKkgYZfDBl\ns7f2QrjZa5RvIrnpW87CLKjid+xyszfJExtIevffzStKNzi4ZldXxSWVeZBk+BU1Dk3AwVmhqoKv\nzJ9aF1pAbUtteXb4WWvq2IywXAAOLeBSC6uqJXdiAzMzcM1vZguvMJbKv2+dtaaqf8N87a+tMlj3\nt+M6/AoaYqdJ083COn+3/PbZJsZn/ePwK6HtAGwyrPoYHH0s8xD0ZZcwh19JRZpYXdXlBdW6bbHl\nv+vLk8OvAos1sZoar1kRfdqGWxeHX0X6MsMtPU38Mfdx+Xf4mQ2Ee7dn4/CzXhpibcaHqzXL4Wed\n05XOo66UY1oOudn4CA8zS5JrflappmpLTdRyhrTTt72fw89KqSMguhICXSmH1SPJ8Ov6MYd90ccd\nW83Gkgw/K89/INZ3XQm/nwD/l93XroUV9nQamramLPgNBzd9OUOeNhje9P32tG/sxDU8ACTtiYiN\nbZejDkOeNhj29A152mD407cc7+piZkly+JlZkroUftvaLkCNhjxtMOzpG/K0wfCnb0md2eZnZtak\nLtX8zMwa03r4Sdok6XlJByTd3HZ5qiDpkKSnJO2VtCcbdpqkRyW9mN2f2nY5pyVpu6Rjkvbnhi06\nPRr5UjY/90k6v72ST7bEtN0uaT6bf3slXZl77ZZs2p6X9Il2Sj0dSWskfUfSM5KelvSZbPgg5l1Z\nrYafpBXAPwBXAOcA10o6p80yVejjEbEhtxvBzcDuiFgP7M6e98UOYNOCYUtNzxXA+uw2B9zZUBmL\n2sH7pw3gi9n82xARDwNky+YW4NzsM1/JluGuOg78RUScA1wE3JhNw1DmXSlt1/wuBA5ExEsR8Uvg\nHmBzy2Wqy2bgruzxXcBVLZZlJhHxGPD6gsFLTc9m4O4YeRw4RdKqZko6uyWmbSmbgXsi4hcR8WPg\nAKNluJMi4khE/DB7/BbwLLCagcy7stoOv9XAK7nnh7NhfRfAI5KelDSXDVsZEUeyx68CK9spWmWW\nmp6hzNObsqbf9twmit5Om6S1wEeB7zP8eTeVtsNvqC6OiPMZNSNulHRp/sUYdbEPppt9aNPDqLl3\nNrABOALc0W5xypH0IeBbwGcj4s38awOcd1NrO/zmgTW552dkw3otIuaz+2PA/YyaRkfHTYjs/lh7\nJazEUtPT+3kaEUcj4u2IeAf4Gr9u2vZu2iR9gFHwfTMi/jkbPNh5N4u2w+8JYL2kdZI+yGhj8q6W\ny1SKpJMknTx+DFwO7Gc0XVuzt20FHmynhJVZanp2AZ/Meg4vAt7INbF6YcF2rqsZzT8YTdsWSSdK\nWseoY+AHTZdvWhqdfeLrwLMR8YXcS4OddzMZX3C7rRtwJfACcBC4te3yVDA9ZwH/md2eHk8T8JuM\netZeBP4NOK3tss4wTTsZNf9+xWg70HVLTQ8gRj34B4GngI1tl7/AtH0jK/s+RoGwKvf+W7Npex64\nou3yT5i2ixk1afcBe7PblUOZd2VvPsLDzJLUdrPXzKwVDj8zS5LDz8yS5PAzsyQ5/MwsSQ4/M0uS\nw8/MkuTwM7Mk/T/kws1qr7iBZwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fa97ac0df98>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fa95c286b38>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fa95c1e0d68>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nSUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fa95c2367f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import cv2 as cv\n",
"import numpy as np\n",
"import seaborn as sns\n",
"from sklearn.mixture import GaussianMixture\n",
"\n",
"# Load image\n",
"orig_img = cv.imread('bin.png', cv.IMREAD_GRAYSCALE)\n",
"\n",
"# Downsample and blurring, then binarize\n",
"img = cv.resize(orig_img, None, fx=0.2, fy=0.2)\n",
"img = cv.GaussianBlur(img, (11, 11), 5)\n",
"_, img = cv.threshold(img, 0, 255, cv.THRESH_OTSU)\n",
"\n",
"# Extract edges\n",
"img = cv.Laplacian(img, cv.CV_64F)\n",
"img = (img != 0).astype(np.uint8) * 255\n",
"\n",
"# Show edges\n",
"plt.imshow(img, cmap='gray')\n",
"plt.show()\n",
"\n",
"# Extract lines and their slope angles\n",
"lines = cv.HoughLines(img, 1, np.pi / 180, 100)\n",
"angles = np.array([theta for _, theta in lines[:, 0, :]])[:, None]\n",
"\n",
"# Plot angle distribution\n",
"sns.distplot(np.array(angles))\n",
"plt.show()\n",
"\n",
"# Calc slopes (there should be two major slopes)\n",
"gmm = GaussianMixture(2)\n",
"gmm.fit(angles)\n",
"rot_angle = gmm.means_[0]\n",
"\n",
"# Rotate image\n",
"cx, cy = orig_img.shape[1] // 2, orig_img.shape[0] // 2\n",
"r = cv.getRotationMatrix2D((cx, cy), rot_angle / np.pi * 180, 1)\n",
"rot_img = cv.warpAffine(\n",
" orig_img, r, (orig_img.shape[1], orig_img.shape[0]))\n",
"\n",
"plt.imshow(rot_img)"
]
}
],
"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
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment