Skip to content

Instantly share code, notes, and snippets.

@macabeus
Last active March 13, 2017 09:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macabeus/f77bdec0420976aa0dd143c8aa99ab9d to your computer and use it in GitHub Desktop.
Save macabeus/f77bdec0420976aa0dd143c8aa99ab9d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Há três tipos de comportamentos possíveis erodindo brutamente"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import cv2 as cv\n",
"from matplotlib import pyplot as plt\n",
"import numpy as np\n",
"import copy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1º - Sucesso fazendo uma reta"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4ca0cc898>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4ca19dd30>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"img = cv.imread('/home/macabeus/ApenasMeu/Dropbox/CEFET/Grupo de Segurança/captcha erosao/falha2.png')\n",
"plt.imshow(img)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nesse caso haverá sucesso, pois a parte em que mantém os dois \"o\" colados é grande, assim essa parte resistirá à erosão, como pode-se observar abaixo"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4ca020b38>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nAcwfFW6JrlhSAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4ca2297f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"kernel = np.ones((8,8),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"\n",
"plt.imshow(erosion)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Agora que localizamos a região de união, podemos traçar uma reta cruzando-a, para então separar as duas letras"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9f8a5c0>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n4dgo/w9FNC3NEhk06QAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4ca125d68>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"kernel = np.ones((8,8),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"\n",
"im2, contours, hierarchy = cv.findContours(cv.cvtColor(erosion, cv.COLOR_BGR2GRAY), cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)\n",
"\n",
"l = []\n",
"for i2 in contours:\n",
" (x, y), radius = cv.minEnclosingCircle(i2)\n",
" l.append((radius, (int(x), int(y)), i2))\n",
"\n",
"l = sorted(l)\n",
"interest = l[-2]\n",
"cv.line(erosion, interest[1], (511,511), (0,0,0), 2) # todo: o começo e fim da reta precisa ser escolhido de uma forma melhor\n",
"cv.line(erosion, (70, 0), interest[1], (0,0,0), 2)\n",
"\n",
"#plt.imshow(erosion)\n",
"plt.imshow(erosion - img)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nesse caso, foi posível obter scesso em separar as duas letras"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2º - Sucesso excluindo uma das letras coladas"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9f61d68>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAACJCAYAAAA182NaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlclNX+B/DPQRgEWRUREUncg7LMNHcwkuxqIGUuNzVJ\nSq92LyX91Lgm2U3T1Cy7Ny00UF921WuZZpk7qC0amhtimqgICoigwyaLfn9/zDABsz3DbMzwfb9e\n84J55lnOHJ758sx5zvkeQURgjDFmexysXQDGGGONwwGcMcZsFAdwxhizURzAGWPMRnEAZ4wxG8UB\nnDHGbJRRAVwIMUIIcV4IcUEIMcdUhWKMMaafaGw/cCGEA4ALAMIBXAfwK4DxRHTedMVjjDGmjTFX\n4P0AXCSiq0RUDWATgCjTFIsxxpg+xgTwDgCu1Xmeo1zGGGPMAhzNfQAhBI/VZ4yxRiAioet1Y67A\ncwEE1nkeoFymJjQ0FImJiUhMTMTBgwdBRM3ukZiYaPUyWPvBdcD1wHWgvR4OHjyoipOJiYmSgrAx\nV+C/AugqhHgAwA0A4wFM0LRiWFgY3nnnHSMOxRhj9i0sLAxhYWGq5wsWLNC7TaMDOBHdE0K8BmAP\nFFfya4kos7H7Y4wxZhij2sCJ6AcAPfStV/e/SnPFdcB1UIvrgeuglrH10Oh+4JIPIASZ+xiMMWZv\nhBAgM97EZIwxZkUcwBljzEZxAGeMMRulN4ALIdYKIfKFEKfrLPMWQuwRQvwuhNgthPA0bzEZY4w1\nJOUKPBnA0w2WzQWwj4h6ADgA4C1TF4wxxphuegM4ER0BUNxgcRSAdcrf1wEYbeJyMcYY06OxbeC+\nRJQPAESUB8DXdEVijDEmhaluYnJHb8YYs7DGjsTMF0K0I6J8IYQfgAJdK9fNg9JwvD9jjDEgNTUV\nqampBm0jaSSmEKITgG+J6GHl8yUAiohoiXIqNW8imqtlWx6JyRhjBpIyElNvABdCfAkgDEAbAPkA\nEgF8A+B/ADoCuApgLBHd1rI9B3DGGDOQSQK4CQrBAZwxxgzEuVAYY8yOcQBnjDEbxQGcMcZsFAdw\nxhizUVKSWQUIIQ4IITKEEGeEEP9QLueEVowxZkVSuhH6AfAjopNCCDcAx6HIhRID4BYRfaCrLzj3\nQmGMMcOZpBcKEeUR0Unl76UAMgEEgBNaMcaYVRnUBq4ckfkogF8AtOOEVowxZj2SA7iy+WQrgDjl\nlXjDdhFuJ2GMMQuSlMxKCOEIRfDeQETblYslJ7TiZFaMMaabOZNZrQdQSESz6iyTlNCKb2Iyxpjh\nTJXMahCAQwDOQNFMQgASABwDsAV6ElpxAGeMMcNxMivGGLNRnMyKMcbsGAdwxhizUY2dUq3JyMvL\nw+rVq1FRUaH22vDhw/HUU09ZoVTM1IqLi7Fq1SrcuXMHANCuXTtMnz4drq6uVi4ZY9ZjcwG8oqIC\nP//8M+7evQsAuHr1KpYvX47S0lK1dV1dXTmA24Hc3Fzs3bsXK1asQGFhIQAgJCQEMTExdhXAMzMz\ncfnyZdXzhx56CIGBgWrrlZSU4JdffkF1dTUAwMvLC/3794eDA3+hbm70BnAhhDMUvVBkysd2IkoQ\nQngD2AzgAQBXoOiFcsdcBa2srERNTQ2ys7MxefJk5ObmmutQdqGqqkr1AQcAmUwGJycnK5ZINyLC\n3bt3cf/+fbXXfvjhB8TGxlqhVJZR+95XrVqFTz75RLX8448/xtSpUyGEQMuWLVUB+urVqxg7dixu\n31Z0+nriiSdw+PBhDuDNkN4ATkSVQohhRFQuhGgB4Edl18JIAPvqJLN6C4DGiY1NYfny5fj6669R\nVVWFggKtY4aYUnJyMpKSklTPX3/9dUycONGKJdKturoa06dPR0ZGhtprRUVFViiR5dS+9927d9db\nvnz5cqxfvx7t27dHUlIS/Pz8rFRC1lRJakIhonLlr85Q3PgshiKZVahy+ToAqTBhAN+xYwfS0tJU\nz/ft24fTp0+bavd25+DBg9i5c6fq+U8//YTjx4+rnq9Zswa//fab5P29/PLLCAkJMWkZdSEiZGZm\n1itzc1H73vPz8+stz87ORnZ2Ntzd3TF//nxMnz4dd+/exWeffabxno+lNPxsauPn54eZM2faVTNX\nUyN1KL0DFGlkuwBYTUTnaofRA4pkVkIIo5NZ3bx5Ez/99BMAxRXk9u3b9Wyh3cCBA9GjRw9ji2QT\njh49inXr1mHdunVa10lLS5P0oasVGhpqsQB+8+ZNpKWlqZoE9OnUqROGDRvWpJuETKmkpARJSUlw\nd3dHWVkZ1q9fDwDo168f/Pz80KNHDwihs7uw0Rrz2QwJCUFsbCwHcDOSegV+H0BvIYQHgN1CiDCY\nOJlVRUUFfvzxR0RHRxu0nYODA9zc3NRO4Pfffx9Dhw41pkhNWmVlpeoq7J133sEPP/xg0v2XlZWh\noqICLi4uJt2vJqdOncILL7wgef0RI0bUayu2VRUVFaisrERlZSXu3bund/0PP/yw3vPXX38dzzzz\nDACgtLQUrVq10vhPrbq6GmVlZRr36erqCplMpvfYp06dwujRnDG6qTGoFwoRyYUQ3wN4HCZOZpWS\nkoJly5YZUhwAQFBQEJKTk+Hh4VFveefOnQ3ely3Zvn07Fi5cCAC4cuWKyfefkJCAGzduYNasWfpX\nZo2SkpKC1atXg4jwxx9/GLx9QkICFi9erHqelJSEfv36qa13+PBhvPHGGxr38f777+Mvf/mLwcdm\npteYZFZSeqH4AKgmojtCCBcAwwEsALADwBQASwC8BEDrd6q6AVyTf//739iwYQOysrL0Ftjb2xtx\ncXHw9vYGALRp0wZ9+/ZFy5Yt9W5rT27dumXWewJXrlzBjRs3zLZ/fVxdXREXF4e0tDTVV3d7k5eX\nZ9TfsOE/7sWLFyMgIEBtvaysLK3HkdpsZYjJkyejT58+aNOmjUW+wdmLhhe3CxYs0LuNlCvw9gDW\nCUUbhQMUKWX3CyF+A7BFCPEylMmsDC3wrVu3kJqais8++wxnz57Vue5jjz2GoKAgtG3bFjNnzoSP\nj4+hh2tWgoOD8eCDD2p9/cSJE/X6HJvLpUuX6t087d69O3r16qVzG39/f0REROBvf/sbbt26pRbA\ns7KysGfPHoSFhUn6+t9cbNu2zWz79vX1xfPPPw8AOH36NC5evKi2jqurK8LCwhAbG4shQ4aYrSys\nDiIy60NxCHVlZWX0/fffk6OjY22GQ40PIQR5e3tTSkqKxv00V59++qlaXTk6OpKPjw/5+PjQBx98\noHP7+Ph48vHxodatW5ODg4PGup8xYwYVFRXR/fv3JZeroqKCCgoKVI8PPvig3j7ffPNNtW1SU1NV\n5fbx8aHJkyfXK6e7u7ta2UJCQqioqEh6hTVBS5YsIU9PT53nv7kfq1atIrlcblC558+fTx4eHmr7\nCgwMpOzsbDPVVvOjjJ2646u+FYx9aAvga9eupU6dOuk9wTw9PWnHjh02/2E1NU0BvFevXnTq1CnK\nyMiggoICndtfv36dMjIyaO/eveTn56ex7tu0aUPjx4+nqqoqyeXasWMHPfjgg6pHw31rCuAlJSWU\nkZGhetQNAtevX6fFixfbZQDPz8+nNWvWWDWAd+jQgRYsWGBQuW/cuEErV67kAG5mTTaAf/rpp9S/\nf3+9J9cjjzxCX3zxBd26dcv0tWPjzp49S/PmzSMXFxdVfT3xxBMGBVsiIrlcTuvXr6fHH39c49/A\nkH1u3LiRwsPDdf5NNQVwfTZs2KC2H29vb4qJiaFTp04ZvL+mZO/evWYP0o888ggtXbpU6z/q4OBg\nevfdd6msrExyubdt28YB3MykBHCL5kK5ffs2Dhw4gDVr1uDEiRM613300Ufx4osvIiYmxkKlsy3O\nzs7w8PAwevi0u7s7Jk2ahF27diE9Pd3g7XNycnDkyBEAwBdffIH9+/cbVR6piouLkZycjNGjR+tt\nU2+qzpw5g4MHD0pev3///njggQdUzw8fPozr16/r3c7JyQmenp5o0aKFxtfPnTuHzz//HP7+/hgx\nYgQ6dOgguUzMuiwawHNycjB16lRJd74nTpyI+Ph4C5TKNu3duxezZ8822f68vb3Rvn171NTUoLCw\nsPbbk0ZEhMLCQlRXV2PPnj2YOnWqpGO0bt1arbunFC4uLvD19UVhYaFarpSioiLcuXMHnp6eBu/X\n2rZu3YpFixbpXMfFxQVeXl4AgNmzZ9cbJzFlyhRs27YNcrlc5z7S09NV/5w9PT0hhFD7DObk5CA2\nNhbJycmIiIiAk5MTfHx8NA4QunPnjt2nN7AVnP2GAQDefvttpKWlITk5Ge7u7jrXrc3dERoainnz\n5kk+xsKFCzF9+nSDyzZ8+HBs3rwZvr7qg30TEhKwevVqg/dpK4YPH64aRdsws+aiRYsMrs/4+Hj8\n85//1Pp6QkICQkNDMWPGDNTU1Ghc59NPPzXo787MR/IVuHI4fTqAHCKKNFc2QkdHR8yePRsRERHG\n7qrZycrKwrRp0+Dg4IDIyEhERkZK3tbPzw9+fn6orKzU2yxDRLh27ZrkwSf+/v6YM2cOnnnmGbRt\n21ZymWp5eHigT58++PDDD/HRRx/h2LFjqtdu3LiBjRs34t69e5g9ezYcHW0uQ7JO7u7u6Natm8bX\n/P398eKLL6peX758Oc6fP69zf76+vggPD1dd1SclJanVJ6C4ytZ2LhUWFlp1jAD7kyFnexyAcwBq\nvwPPhRmyETo4OCAqKgoPP/ywsbuya927d8eoUaOwZ88eVFVVAVDkq0hOTgagaFpwcXHB8OHDDdqv\nl5cXxo0bpxp63bVrV6PzbHh7e2PSpEmqwVeN4e7ujgkTJuDbb7+tF3AARVtyeXm5qg23OWXt69Wr\nl+oewM2bN3Hu3Dnk5eVh3759Wrfp2rUrunbtCgCqc6dhnZriXGLmJzWZVQCAvwBYCKB2bLVZsxEy\n3cLDwxEQEIAxY8bg0qVLatnptm3bhoKCAlVCLy8vL0ntzwEBAQY3STg4OMDX1xdOTk4oLy/HrVu3\n6r1eXV2NnJwcODs7G53YyMfHB97e3iguLq63/NKlS4iJicH+/fttIoDn5+erZhcylbfeegsAcOTI\nEfz+++8AFB0HSkpKtG4zY8YMCCHUAnhdte3sHMCbHqlt4CsA/B8U3YVq1ctGCMDobITMMEFBQfju\nu+8wcOBAja8fP34cQ4cOxdChQ7F582azlcPDwwPr16/HoUOHNLavXr58GSNHjjTJkPi3337bLvKz\nvPHGG0hJSTHLvvv06YNDhw7h0KFDGDdunFmOwZoGKblQRgLIJ6KTyiyE2mjttlCbC6WgoKDeLDGa\n1NTUYMGCBXjttddUmdaYZjKZDIGBgUhISICPj49akL579y6uXr0KAPj8889V3f20efLJJ/HSSy/p\nPa6joyMSExNV05s5Ozujb9++8PLyQmRkJO7fv49FixapeipUV1fj2rVrWLRoEQoLCzF+/PjGvF0A\nQNu2bdGmTZtGb99U5OXl6b0Cf+mllyT38KnLxcUFnTp1AgC8+uqrGDx4sOq1/v37q63/5JNP1vtn\nsmvXLrVz6dy5c4iNjUVCQoLGYw4YMACzZs1C69atDS4vU2hMMispA3EWAcgGkAXgBoBSABsAZEJx\nFQ4AfgAytWyv6ph+5swZ8vLykjT4YNmyZWbsIm9/du3aRaNGjSIhRKMHfISFhdHatWtVj2PHjjWq\nLFeuXKGAgACTDeRp6MCBAzR69GiSyWQa93/ixAmjj2Eu+fn5lJycTD179tT791i9erVVyqjtXHJ0\ndKR58+ZRRESEWllffPFFq5TVnsEUA3mIKAFAAgAIIUIBxBPRJCHEB5CYjZCZ34gRI9CuXTtcvHgR\n1dXVKC4uVmsn1qfhFUBsbKzqisrf398kmeVu376NnJwcdOjQodE3R4cNG4a2bdsiNTVVdROu1rJl\ny1BVVYV27drB39/f6PKaWlZWFl555RWtXfSagrrn0tWrV1UTiNfU1OC9996zculYXcb0A18MYLgQ\n4ncA4crnzIqCg4Oxb98+pKWlSWoK0WfTpk0IDQ1FaGio3pGzhuxTVx9jU0hJSeFBYEaqPZcee+wx\naxeF6WBQACeiNCKKVP5eRERPEVEPIoogIpMmFt64caPaDCRMN2dnZwQEBCAgIAAxMTHYuHGj6tGY\npP2lpaXIzc1Fbm4u5s+fj6+++krSdj4+Pvjkk0803lwtLS01yaTUAQEBSEpK0hhg5HI5bt68afQx\nmrPac8nZ2dnaRWE6NNlRD7/99hsCAwPtoseBNdTtHwwoeqR8//33qudDhgxRyxd+7tw5rTc6Dxw4\nAFdXVxQWFqJFixaIjIzUODISAFq1aoXRo0djy5YtGnueFBQUICkpCVFRUY3Ou+Hl5YUxY8agoKAA\nTk5OOHr0aL3Xc3NzsWbNGp3lbOoOHz6Mbt264cknn7R2UVgTZdEA7uzsjO7du+PcuXMoLS3Vu35p\naSkuXryIwMBAvhIwkq+vb71JnmfOnKnWxey///1vvSvXoqKies937tyJnTt3QiaToVevXnoDo7+/\nP9q1a6c22/rly5dVs5WPGjXKqMk5ZsyYgbKyMrUAfv78ecycOVNSOZuqjRs3Qi6XIzAwEA888IBV\nJnEODAxUmxy8oKBA7f6KXC5XjQJt3769TeamsUn67nIa+0CdXijV1dWUn5+v8S62poezszP17NmT\nzp8/b/I7vM2NXC6nvLw81UNT6tCysrJ668yfP1/j30Umk9HRo0f1HvP27dsac3nXPry9vWnp0qVG\nv7eGk0YYWk5L+vnnn/VOYlL30bJlS+rTpw/l5ORYpbxFRUX1zom8vDyaPn26xnL6+vqSr68vffXV\nV1Ypq71BU0sn6+joCF9fX8lX05WVlcjKykJcXBzi4+N5JJgeFy5cQGJiomqG84cffhhvv/02AMVQ\ndH1JqlxdXeuNlJwwYQJkMlm9fQKK3ggJCQmIi4vDs88+q3V/np6eeP7551X9xhvOjF5cXKx1tnSm\ncPfuXWRmZmLatGlwdXVFREQEYmNjLXZ8TekPNI2mvXv3rqq3Su1PZn5Sh9JfAXAHwH0oJjjuZ0wy\nq5EjR2qc61CTqqoq7N69W3UiWTuIHz16FL/++mu9ZZ07d24SM3sXFRVh69atqh4eRUVFqgDeGD17\n9kR4eLjapNT379/H/v37JQ206tq1K55++mnufgbFPKRbt25VS4mrT3l5Ob777jsAimRTtQFy5MiR\nCAoKMnk59Rk0aBAyMzOxa9cuix+b1Sf1Cvw+gDAiqtvw1ehkVtOmTYNcLjdoaPWmTZtQUlKCjh07\nonPnzlaZzDYrKwspKSlquUKGDRuGTp06oXPnzmjZsqXFy6VNaWkpzp49i86dOxudg8QYzs7OCA4O\nxpkzZ9TycuTn5+Py5ctWCUSWtn//fixfvtyofRw5ckR1o5mIEBYWBhcXF3Tp0sXopGNSPffcc/Dy\n8sKVK1eQlZWFyspKixyXqZPajbB2Rvq6oqBIYgXlz9GmKpQ2e/fuxbhx46zWRWzWrFka81ccOXIE\nkZGRqmHrTcXx48cxfPhwZGZmWrUcQUFB2LlzJwYNGqT2WkpKCvc0aiQpubvNZfDgwdixY0e9GYKY\n5UkN4ARgrxDiVyFEbQOcUcmsRo8ejcWLF2ud5kmTqqoqXLx4EVOnTsWhQ4cMOVyjffPNN4iOjkZ0\ndDR+/PFHje17tSMf67YTNwU1NTUoKChAfHw8tm+33kBZR0dHeHt7Y/78+Zg8eXK91yoqKnRmy9Mm\nOzsbkyZNQnR0NNatW6d/Axvi5uaGjz/+WG9O/NLSUhQXFyM9PR0vvPACoqOjzZq0rC6ZTAZvb2+N\nn98VK1bgs88+s0g5mjupTSiDiOiGEKItgD3K0ZcNk1fpTWYFAGFhYQgLC0O3bt1UV9NbtmzBtWvX\nJBWkoqICu3fvRtu2bVFdXY3w8HCJb8Fw27dvxxdffIFvv/3WbMcwt/v37yMtLQ2enp7IyspCy5Yt\nMXbsWKskhBowYIDGfubZ2dlYuXIlxo4dKzkVrFwux86dO7VOz9exY0eMGzcO7dq1M6rMltalSxeM\nHz9eVRfBwcGQy+XYsmWL1q63xcXFqn/Qjz76qMXK2rJlS0yePBlffvklzpw5o1qenp6Oxx9/HIWF\nhdiyZYvGJpYBAwZoTKzVnJklmVXDB4BEAPFoRDIrbV599VWtM2brekyfPt3YnjpqCgoK6Pjx43T8\n+HEaOnSo3jJ06NCBevfuTcOGDaNLly6ZvDyGOH36NPXt25fc3Ny0ltfT05P+97//UUFBgc59/fHH\nH3T8+HFKSUnR2u2tMQnH1q1bR927d1fbl5OTE61bt47y8vIk7UdfYrTw8HCDy2ZOf/zxB8XFxek9\nn6KiotS2vX79Oj3zzDPUu3dv6tixo87t33nnHYu8n+LiYtXn5LnnnlMrx5gxY2jz5s3k7u6usZzT\npk2jCxcuWKSstgoSuhFKCdiuANyUv7cC8COACCiSWM1RLp8DYLGW7fUWtKysjObOndskAnhSUhK5\nubmRm5sbtWjRQm8ZFi5cSHK5nEpKSqimpsbk5TFETU0NyeVyvf94XF1dae3atTr3NXbsWHJzcyNX\nV1et+2lMAK+srKT9+/dr/Kfg6upKK1eulLQfWwvgY8eOJWdn50YF8Hv37lFJSQnJ5XL68MMPm0QA\n//bbb1WfEycnJ43/kHWdOzKZjJ599lmLlNVWSQngUppQ2gHYpkwt6QhgIxHtEUKkA9gihHgZwFUA\nYyXsSyNXV1dMmTIFrVq1Mqjb265duzBq1CiNry1cuBCPPPKIpP0UFBRgzpw5uHnzJq5evSpplKij\noyOWLFmCqKgovf2rLaVFixZwd3fXe1+hvLwcH330Eb7++mut66Snp2uth7rv3VAymUxrj5jy8nKs\nWrUKd+7c0Tpp7tKlS5GWloaSkhKtfcj/+te/4u9//7vBZTOniooKvb01Xn75ZY2TFDs4OMDNzQ0A\nEB0dDZlMhjlz5li0D/3Jkyfr/U3y8/N1fk6qq6t15v6vqqpCeXm5ScvYHElJJ3sZgFrDGhEVAXhK\nfYvG6dGjB8aNG6dKcp+amor09HSt648cORKVlZWq/rENdejQQTXvnz7FxcXYtm2bpCmuBg4ciIED\nB8LR0RFjxoxBYGCgpGM0NWfOnKnXbmkIBwcHDB48GF26dDFxqYDMzExs2rRJ62CvL7/8EidPntS5\nj+7du9tk+2pwcDD69u2rc51OnTrh+eefR35+vto0egC0zs5krMLCQq2fNWY9TSqZVbdu3bB06VIA\nQHx8vM4A3q9fP5SVlWmdvPXzzz83efl69uyJmJgYi46Ea2o8PDzQq1cvtGrVqtH7cHNzQ79+/VBT\nU6PKdlhXRkYGZs+ebdA+W7VqheDgYAghGp0gy1b4+fnh3XfftXYxdPL19VXNCqRNz549LVMYO9ak\nArgh3nvvvdo2dotZsWIFnnrKZF86bFKfPn3w/fffGzWQKjg4GPv37wcA/Otf/8KiRYuMLldISAj2\n7dsHJycnODra7GltN6KiorBy5Uqd6zg4GDMdAQOacAB/9dVXERERAblcjjfffBPZ2dn1Xtc3t6Yp\n9ezZE8uWLUPfvn1tIjgsWbIEH3/8MTZu3Fhv+YABA5CYmAgAWLlyZb30slJMnDgRcXFxRo82dXBw\nUO0jJiYG7u7uqhnVG2PMmDGIj49Hq1atmlxQuHLlCuLj4/HLL79YuyhG6d27N3744QfJ63fs2LFJ\njUq2V002GvXo0QM9evRAeXk5cnNzUVBQgLNnz1qkT7aPjw8mTZqkOgE7duyIESNGGDToyJr69u2L\nKVOmqLXPBwcH4+mnnwaguKkm9SZvrfDwcDz++OMmKyegyJUyZswYyOVyAIrh5seOHdO5Te/evTFi\nxAjV8yFDhjTZNu/S0lIcOHBAa391W9GmTRvVucOaDiGlGUII4QlgDYCHoMiL8jKAC5CQzEoIQaZq\n6ti9e7eq7e/ChQuqWdFNpXv37vDx8UHnzp3xn//8Bx4eHibdP9Pvk08+waZNm3SuEx0djTfffNNC\nJWq8GzduYN++fZg5c6bO0aZCCDz88MOYO3cuJkyYYMESsqZMCAEi0pngRmoATwGQRkTJQghHKPqD\nJwC4RX8ms/ImIrVkVqYM4Pfv31e1e0+cOFHvB91QGzZsUH2AHBwcLJYciP2p7t9YGyFEk2sq0WT1\n6tWYOXOm3uyDMpkMqampeOKJJ2zifTHLkBLA9TahCCE8AAwhoikAQEQ1AO4IIaIAhCpXWwcgFRKz\nETZW3ZN73rx5eOWVV+q9vnnzZkm9Tzw8PPDRRx+pJeIJDg62mWYSe2VPAYyIJKeObdGihV29d2YZ\nUtrAgwAUCiGSATwCIB3A62iQzEoIYdF5q0JCQhASElJvmbOzs6RcGq6urhg5cqTNTrXFGGOAtADu\nCOAxADOJKF0IsQKKK+2G33O1fu/VlMzKHAYNGqQxZSljjDV1jUlmpbcNXAjRDsDPRNRZ+XwwFAG8\nCxSTPOQLIfwAHCSiBzVsb7I2cMZsyapVqzBjxgwAqvZMjevJZDIcPnwY/fr1s2TxWBNnkjZwZYC+\nJoToTkQXAIQDyFA+pkCR1OolANZLOM1YEzR69Gg89NBD9ZZlZGTgtddea3K545ltktoP/B8ANgoh\nnABkAYgB0AImSmbFmD1q37492rdvX29ZUFAQioqK6t3cbNGihd0P/2fmIakboVEH4CYUxhgzmJQm\nFO63xBhjNooDOGOM2SgO4IwxZqM4gDPGmI3SG8CFEN2FEL8JIU4of94RQvxDCOEthNgjhPhdCLFb\nmfCKMcaYhRjUC0UI4QAgB8ATAF6DhZNZMcZYc2GOXihPAbhERNcAREGRxArKn6MNLyJjjLHGMjSA\njwPwpfL3esmsAHBmKMYYsyDJM/IoR2FGApijXNTkklkxxpitMksyK9WKQkQCmEFEI5TPM8HJrBhj\nzCxM3QY+AcB/6zzfAUUyK4CTWTHGmMVJnVLNFYqEVZ2JqES5rDWALQA6Kl8bS0RqM7fyFThjjBnO\nZHNiGln238zgAAADfklEQVQIDuCMMWYgTmbFGGN2jAM4Y4zZKA7gjDFmoziAM8aYjbJIADe0c7o9\n4jrgOqjF9cB1UMvYeuAAbiFcB1wHtbgeuA5q2UQAZ4wxZnocwBljzEZZZCCPWQ/AGGN2yuojMRlj\njJkHN6EwxpiN4gDOGGM2yqwBXAgxQghxXghxQTlvZrMghLgihDilnAT6mHKZ3U8CLYRYK4TIF0Kc\nrrNM6/sWQrwlhLgohMgUQkRYp9SmpaUOEoUQOcqJwU8IIUbUec0e6yBACHFACJEhhDgjhPiHcnlz\nOxca1sPflctNdz4QkVkeUPxz+APAAwCcAJwE0NNcx2tKDwBZUEzyXHfZEgCzlb/PAbDY2uU0w/se\nDOBRAKf1vW8AwQB+g2JWqE7Kc0VY+z2YqQ4SAczSsO6DdloHfgAeVf7uBuB3AD2b4bmgrR5Mdj6Y\n8wq8H4CLRHSViKoBbIJiIuTmQED9243dTwJNREcAFDdYrO19RwLYREQ1RHQFwEUozhmbpqUOAMU5\n0VAU7LMO8ojopPL3UgCZAALQ/M4FTfXQQfmySc4HcwbwDgCu1Xmegz8Lb+8IwF4hxK9CiFjlsuY6\nCbSvlvfd8PzIhX2fH68JIU4KIdbUaTqw+zoQQnSC4hvJL9D+GWhO9XBUucgk5wPfxDSPQUT0GIC/\nAJgphBgCAyaBtnPN8X1/CsVsVo8CyAOw3MrlsQghhBuArQDilFegzfIzoKEeTHY+mDOA5wIIrPM8\nQLnM7hHRDeXPmwC+geJrUL4Qoh0AKCeBLrBeCS1K2/vOhWI6vlp2e34Q0U1SNnICSMKfX4vttg6E\nEI5QBK0NRFQ7X26zOxc01YMpzwdzBvBfAXQVQjwghJABGA/FRMh2TQjhqvyPCyFEKwARAM6g+UwC\nLVC/fU/b+94BYLwQQiaECALQFcAxSxXSzOrVgTJY1XoOwFnl7/ZcB18AOEdEH9dZ1hzPBbV6MOn5\nYOa7sCOguPN6EcBca98VtsQDQBAUPW5+gyJwz1Uubw1gn7I+9gDwsnZZzfDevwRwHUAlgGwAMQC8\ntb1vAG9Bcac9E0CEtctvxjpYD+C08rz4Boq2YHuug0EA7tX5HJxQxgKtn4FmVg8mOx94KD1jjNko\nvonJGGM2igM4Y4zZKA7gjDFmoziAM8aYjeIAzhhjNooDOGOM2SgO4IwxZqM4gDPGmI36f8zZmF2M\nPdhHAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4ca146e48>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"img = cv.imread('/home/macabeus/ApenasMeu/Dropbox/CEFET/Grupo de Segurança/captcha erosao/falha1.png')\n",
"plt.imshow(img)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nesse caso haverá sucesso, pois o \"f\" resistirá à erosão, será lido e em seguida apagado da imagem original, assim o \"y\" poderá ser lido"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9ed0e10>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9f01b70>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"kernel = np.ones((4,4),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"\n",
"im2, contours, hierarchy = cv.findContours(cv.cvtColor(erosion, cv.COLOR_BGR2GRAY), cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)\n",
"\n",
"l = []\n",
"for i2 in contours:\n",
" (x, y), radius = cv.minEnclosingCircle(i2)\n",
"\n",
" if radius > 16:\n",
" cv.drawContours(erosion, [i2], -1, (100, 100, 255), 1)\n",
" cv.circle(erosion, (int(x), int(y)), 20, (0,255,0), 1) # todo: o tamanho do círculo precisa ser escolhido dinamicamente\n",
" l.append(((x, y), radius))\n",
"\n",
"l = sorted(l)\n",
"plt.imshow(erosion)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Agora que o \"f\" foi lido, podemos excluído da imagem original e o \"y\" não terá mais nada colado nele"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9e403c8>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9f44278>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"nimg = copy.copy(img)\n",
"cv.circle(nimg, (int(l[1][0][0]), int(l[1][0][1])), 20, (255, 255, 255), -1)\n",
"plt.imshow(nimg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3º - Falha"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9b8c8d0>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nlP8HB515fYrFj78AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9cf5160>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"img = cv.imread('/home/macabeus/ApenasMeu/Dropbox/CEFET/Grupo de Segurança/captcha erosao/falha0.png')\n",
"plt.imshow(img)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nesse caso, não é possível usar a primeira alternativa feita, pois se erodirmos para encontrar onde fica a região de cola, as letras irão juntos e não a encontraremos, como pode-se ver abaixo"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9d8b860>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9dc17b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"kernel = np.ones((5,5),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"plt.imshow(erosion)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9d724a8>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAACJCAYAAAA182NaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE2dJREFUeJzt3X1wVfWdx/H3F0OQp2BEDJYQeXAAqbsLYv1HMKwLrqJN\n7DK4dOgUraJWa5nxYUFAU6aOI9ad1plOaF0etBa3irUC1W6BBUIztVQUREEMLg8+FCKGIDU8JCHf\n/eOeaAgJuTfcm3PPzec1c4dzf7nnnu/9cfK9J79zzvdn7o6IiERPl7ADEBGR9lECFxGJKCVwEZGI\nUgIXEYkoJXARkYhSAhcRiaizSuBmdp2Z7TSzCjOblaygRESkbdbe68DNrAtQAfwL8DfgDWCqu+9M\nXngiItKaszkCvxLY5e773L0O+A1QnJywRESkLWeTwAcAHzV5/nHQJiIiHSAr1RswM92rLyLSDu5u\nZ/r52RyBfwIUNHmeH7SdprCwkJKSEkpKSli/fj3u3ukeJSUloccQ9kN9oH5QH7TeD+vXr/8yT5aU\nlMSVhM/mCPwN4BIzuxjYD0wFvt3SC8ePH8+PfvSjs9iUiEhmGz9+POPHj//y+fz589tcp90J3N1P\nmtkPgNXEjuQXu/t77X0/ERFJzFmNgbv7/wDD23pd02+Vzkp9oD5opH5QHzQ6235o93XgcW/AzFO9\nDRGRTGNmeApPYoqISIiUwEVEIkoJXEQkotpM4Ga22MwqzWxbk7ZcM1ttZu+b2R/NrE9qwxQRkebi\nOQJfCvxrs7bZwFp3Hw6sAx5KdmAiInJmbSZwdy8Hqps1FwPPBsvPAjclOS4REWlDe8fAL3T3SgB3\nPwBcmLyQREQkHsk6iakLvUVEOlh778SsNLM8d680s/7Ap2d6cdM6KM3v9xcREdiwYQMbNmxIaJ24\n7sQ0s0HAKnf/h+D5AuCQuy8IplLLdffZrayrOzFFRBIUz52YbSZwM3seGA/0BSqBEuAVYDkwENgH\n3Ozuh1tZXwlcRCRBSUngSQhCCVxEJEGqhSIiksGUwEVEIkoJXEQkopTARUQiKp5iVvlmts7MtpvZ\nO2b2w6BdBa1EREIUz2WE/YH+7r7VzHoBbxKrhXIrUOXuT5zpWnBdhSIikrikXIXi7gfcfWuw/AXw\nHpCPClqJiIQqoTHw4I7MUcBfgDwVtBIRCU/cCTwYPnkJmBkciTcfF9E4iYh8qaamhvLycj777LOw\nQ8lYcRWzMrMsYsn7OXdfETTHXdBKxaxEOp89e/ZQVFTEM888Q1FRUdjhpL1UFrP6FfCZu9/XpC2u\nglY6iSnSOdXU1LBt2zaGDRtG3759ww4ncpJVzOoqYCPwDrFhEgfmAH8FXqSNglZK4CIiiVMxKxGR\niFIxKxGRDKYELiISUUrgIiIR1d45MUVE2q2iooIPPvjgy+cjRoxgyJAhIUYUTfEUs+pmZpvMbEtQ\n0OqxoF3FrEQioL6+npqaGhoaGsIO5UvLly9nypQpTJkyhW9+85u88MILHD9+POywIieeWigngH92\n99HAPwLXBJcWzgbWuvtwYB3wUEojFZF2KS8vp6ioiL1794YdypduueUWysrKWLNmDSNGjKC0tJR5\n8+aFHVbkxDUG7u5Hg8VuwTrVqJhVp7dy5UqWLl0adhjShsOHD7N169a0OsIdMGAAV1xxBVdeeSVz\n5sxh6NChpwypSHziSuBm1sXMtgAHgA3uvgMVs+q0Tp48SVlZGUuWLGHFihVtryDSiqysLKZNm8aY\nMWPCDiWS4j0CbwiGUPKBcWY2HhWz6rTq6+t58MEHlbwj4NixY9TU1IQdRlzq6ur4/PPPOXnyZNih\nREZCV6G4+xEzew24AhWzEkl7paWl/PznPw87jLg0jtUvWbKEoUOHhh1Oh2tPMSvc/YwP4AKgT7Dc\nnVhdlH8BFgCzgvZZwOOtrO+SWY4fP+7f+MY3HPAhQ4b47Nmzff/+/WGHJS3YuHGj33bbbX7uuef6\ntGnTvLy8POyQWtQY5/nnn+/bt28PO5y0EOTOM+bneIZQLgLWB2PgfwFWuvv/Bgl8opm9HyT0xxP7\n6pCo6tKlC9dccw2TJ09m9OjRfPjhh7z66qvs3r077NCkmXHjxnHjjTdy/Phxli1bxrvvvht2SC1q\njFMS0+YQiru/A1zeQvshYEIqgpL01rVrVx5//Kvv66qqKsaNG0d9fT133nlniJFJS7Kzs+nbty+H\nD59WLDTtuDuHDh3i2LFjdO/ePexw0p5upRfJcGPHjmXlypVcfPHFYYfSpiNHjjB9+nRWrVoVdiiR\noATeSfz2t7/lF7/4RUreu2fPnjzyyCOMHTuWTZs2MXfuXA4dOpSSbUnicnJyGD58ON26dQs7lDad\nPHmS3bt3U11dHXYokaAE3kn8+c9/ZvHixbz88st8/vnnSX3vc889l6lTp/L1r3+dXbt28etf/zoy\nl651FtnZ2UyaNInq6mpef/31sMNpVXZ2Ntdff32nvAqlPZTAM5y7c/DgQb744gs2b97MjBkz+OST\nT1K2ve7du5OXl8c555yTsm1I4nr37s2TTz5JdXU1zz//fNjhtKpXr148+eSTTJig02vxUDXCDFdX\nV8ddd93FunXrOmR7EydO5PLLL6dfv34dsj1JzH333dd4ea9kgLiPwIPb6d8ys5XBc1UjjAB356OP\nPuqwKxBycnLIyclh7ty5bNq0qUO2KfHLy8tj7969zJo1K+3OU4waNYqf/exnXHTRRWGHEhmJHIHP\nBHYAOcHzxmqETwSz0j8UtEma2L9/P3/4wx+oqqoCID8/nxtvvJE+fVL7Xevu1NbWUlZWRkVFxSk/\nGzlypOpehOyDDz5g8eLFXHTRRRQXFzN48OCwQwJg0KBBDBo0KOwwoqWtO32CP7fygTXAeGI38gDs\nJFbQCqA/sLOVdVN9w5K0oLq62pctW+bEatQ44MXFxR0aw7333uu5ubmnxPDAAw90aAxRU1NT4/v2\n7Tvl8fHHH3tdXV3StvHyyy/7wIEDfeDAgb5o0SKvqqpK2ntL8hDHnZjxHoH/FHgQaHrodko1QjNT\nNcI0snTpUhYsWBBqDA8//DAXXnghDz/8cKhxREl5eTl33HHHKW0DBgxg+fLlfO1rX0vKNiZOnMjG\njRsBePTRR9mzZw+PPvpoUt5bOlabCdzMbgAq3X1rUIWwNa2eGVExq453+PBhKisrQ42hX79+TJky\nBTPjscce4+jRo22v1MkdPXqUffv2ndLm7kmt0NerVy969eoFwHe/+13Ky8uZO3cuc+bMoWfPnknb\njiSmPcWs4jkCvwooMrNJxIpZ9Taz54AD7alGKB1j9OjR3Hrrrae1dbThw4czffp0Dhw4oPKzcSgo\nKDjt/61v374pS6xXX30127dvp7S0lP79+1NcXExBQUFKtiVn1vzgdv78+W2uY57AJUVmVgjc7+5F\nZvYEUOXuC4KTmLnuftpJTDPzRLYhmauoqIjhw4fzk5/8JOxQpImFCxdy9913A/DLX/6SyZMn07dv\n35CjEjPD3e1MrzmbG3keR9UIRTLKnDlzWLhwYdhhSJwSndChDCgLllWNUBJy//33k5OT0/YLJTRV\nVVUsW7aM2tpaHnnkEbKydK9fOtP/TieyZ88eNm7cSFFREbm5uR2+/cLCwg7fprRt5MiRp1350qNH\nD8zO+Ne7pIGExsDbtQGNgaeNV155hdtuu40//elPjBw5MrQ4jh07xr59+xg4cKCueoigTz/9lNra\nWvLz88MOJaOlegxcpF127NjBhAkT2LJlS9ihSDuUlpYyb968sMMQlMAlBHV1dVRWVjJv3jxeeuml\nsMORBN10003MmDEj7DCEOMfAzWwv8DnQANS5+5Vmlgu8AFwM7AVudvfkFpqWjJSXl8fdd9/NyZMn\n6dGjR9jhSIJGjRoVdggSiPckZgMw3t2bTpOhYlYRk5OTw8iRI0OfmWXw4ME89dRTocYgkgniOolp\nZnuAK9y9qknbTqCwyZ2YG9x9RAvr6iRmmqitraWmpoacnBxNuCCS5pJ5EtOBNWb2hpndHrSdUswK\nUDGrNJednU1ubm7aJe+3336bm2++mV27doUdikikxDuEcpW77zezfsDq4O7L5ofVKmYl7XLw4EFW\nrFjBAw88EHYoIqFpTzGrhK8DN7MS4AvgdmLj4o1DKOvd/dIWXq8hlDRSX19PRUUF/fr1a/e0Zw0N\nDVRUVJCbm0teXt5Zx7Rp0yZmzpzJokWLOO+88zhx4oQmtZVOLylDKGbWw8x6Bcs9gWuBd4CVwC3B\ny6YDKjUXAUeOHGH69OmsWrWq3e9RV1fH97//fV588cWkxDRmzBjWrFnDpZdeqmuMRRIQzxBKHvA7\nM/Pg9cvcfbWZbQZeNLPvAfuAm1MYpySJu1NTU0NdXV273yMrK4sf//jHSZu7MCsri969ewPwne98\nh5qamqS8r0imazOBu/se4LQLP1XMqvM655xzGDt2bEreO8xb/MO2fv16Dh8+zLe+9a2wQ5GI0J2Y\nImni97//Pc8++2zYYUiEKIGLiESUEriISEQpgYuIRFS8xaz6AIuAy4jVRfkeUIGKWUVOVlYWo0eP\npn///mGHIs0MGjSI7OzssMOQCIm3FsozQJm7LzWzLKAnMIfYpMZPaFLj6HB3GhoaMDO6dNEfYOmk\noaEBd0+7UgcSjnhu5GkzgZtZDrDF3Yc2a1cxKxGRFElWMavBwGdmttTM3jKzp82sBypmJSISqnjG\nwLOAy4F73H2zmf2UWN1vFbMSibgdO3aQlZXFsGHDwg6l00tJMSszywNed/chwfOxxBL4UFTMSiTS\npk2bRp8+fSgtLQ07FGkmKWPgwRuVATPcvSKoRtg4D9Yhd1+gk5gi0bRz506ysrK45JJLwg5Fmklm\nAv8nYpcRdgV2A7cC5wAvAgMJilm5++EW1lUCFxFJUNIS+FkGoQSeRmpra9m8eTMFBQXk5+eHHY6I\ntCKZU6pJhvj73//O7bffzquvvhp2KCJylpTARUQiSglcRCSi4p3UWDJE165dufrqqzly5Aivvfba\nKT8rKCjgsssuCykyEUlUPNeBDyNWtMoBA4YADwPPEUcxK53ETE933nknTz/99Cltd911FwsXLgwp\nIuko9fX1nDhxAoBu3bqRlaXjuHSUlJOY7l7h7qPd/XJgDFAD/I7YzTxr3X04sA54KAkxi0iKrV69\nmsLCQgoLC1m7dm3Y4chZSPSrdwLwf+7+kZkVA4VB+7PABmJJXSJo2rRpTJ48OewwpAMcOnSIN998\n88tlia5ET2L+O/B8sKxiVhlk0qRJTJigOapFoiTuI3Az6woUAbOCJhWzEomg7Oxs+vTpA8ROakt6\naE8xq0SGUK4H3nT3z4LnlWaW16SY1aetrdg0gYtIuCZOnEhZWRkQu/JI0kPzg9v58+e3uU4iCfzb\nwH83eb4SuAVYAEwHViTwXpImcnNzmTlzJmPGjAk7FOkgubm55Obmhh2GJEG8c2L2IHYC844mzQuA\nF83sewTFrJIfnqRSQUEBkyZN4p577uGCCy4IOxwRSVBcCdzdjwL9mrUdIpbUJYJ69+7NDTfcoDrQ\nIhGmaoSd1P79+2loaGDAgAFhhyIiLVA5WRGRiFI5WRGRDKYELiISUR2SwBO9OD0TqQ/UB43UD+qD\nRmfbD0rgHUR9oD5opH5QHzSKRAIXEZHkUwIXEYmoDrmMMKUbEBHJUKFfBy4iIqmhIRQRkYhSAhcR\niaiUJnAzu87MdppZhZnNanuNzGBme83sbTPbYmZ/DdpyzWy1mb1vZn80sz5hx5lsZrbYzCrNbFuT\ntlY/t5k9ZGa7zOw9M7s2nKiTq5U+KDGzj83sreBxXZOfZWIf5JvZOjPbbmbvmNkPg/bOti8074d7\ng/bk7Q/unpIHsS+HD4jNWt8V2AqMSNX20ukB7AZym7UtAP4jWJ4FPB52nCn43GOBUcC2tj43MBLY\nQqwi5qBgX7GwP0OK+qAEuK+F116aoX3QHxgVLPcC3gdGdMJ9obV+SNr+kMoj8CuBXe6+z93rgN8A\nxSncXjoxTv/rppjY5M8E/97UoRF1AHcvB6qbNbf2uYuA37h7vbvvBXYR22cirZU+gNg+0VwxmdkH\nB9x9a7D8BfAekE/n2xda6ofG8p9J2R9SmcAHAB81ef4xXwWf6RxYY2ZvmNntQVtnnQT6wlY+d/P9\n4xMye//4gZltNbNFTYYOMr4PzGwQsb9I/kLrvwOdqR82BU1J2R90EjM1rnL3y4FJwD1mNo4EJoHO\ncJ3xc5cCQ9x9FHAA+M+Q4+kQZtYLeAmYGRyBdsrfgRb6IWn7QyoT+CdA0xlT84O2jOfu+4N/DwKv\nEPszqNLM8gDamgQ6w7T2uT8BBjZ5XcbuH+5+0INBTuC/+OrP4oztAzPLIpa0nnP3xvlyO92+0FI/\nJHN/SGUCfwO4xMwuNrNsYCqxiZAzmpn1CL5xMbOewLXAO3w1CTRk9iTQxqnje6197pXAVDPLNrPB\nwCXAXzsqyBQ7pQ+CZNXo34B3g+VM7oMlwA53f6pJW2fcF07rh6TuDyk+C3sdsTOvu4DZYZ8V7ogH\nMJjYFTdbiCXu2UH7+cDaoD9WA+eFHWsKPvvzwN+AE8CHwK1AbmufG3iI2Jn294Brw44/hX3wK2Bb\nsF+8QmwsOJP74CrgZJPfg7eCXNDq70An64ek7Q+6lV5EJKJ0ElNEJKKUwEVEIkoJXEQkopTARUQi\nSglcRCSilMBFRCJKCVxEJKKUwEVEIur/AeJv6Loeb4gtAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9da1668>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"kernel = np.ones((6,6),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"plt.imshow(erosion)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9cd9128>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9d11588>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"kernel = np.ones((7,7),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"plt.imshow(erosion)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Como pode-se ver acima, onde era o \"n\" e \"o\" há muitos fragmentos restantes, e todos de quase o mesmo tamanho, desse dificultará muito criar uma reta.\n",
"todo: talvez, talvez, pegando o fragmento mais central dê certo."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Também não podemos usar a segunda alternativa feita, pois em nenhum momento a erosão é boa o suficiente para lermos só uma letra e depois descartarmos a outra, como pode-se ser visto abaixo"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9ade630>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9b85128>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"kernel = np.ones((4,4),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"\n",
"im2, contours, hierarchy = cv.findContours(cv.cvtColor(erosion, cv.COLOR_BGR2GRAY), cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)\n",
"\n",
"l = []\n",
"for i2 in contours:\n",
" (x, y), radius = cv.minEnclosingCircle(i2)\n",
"\n",
" if radius > 10:\n",
" cv.drawContours(erosion, [i2], -1, (100, 100, 255), 1)\n",
" cv.circle(erosion, (int(x), int(y)), 20, (0,255,0), 1)\n",
" l.append(((x, y), radius))\n",
"\n",
"l = sorted(l)\n",
"plt.imshow(erosion)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe4c9a482e8>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fe4c9c6a710>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"kernel = np.ones((5,5),np.uint8)\n",
"erosion = cv.dilate(img, kernel, iterations=1)\n",
"\n",
"im2, contours, hierarchy = cv.findContours(cv.cvtColor(erosion, cv.COLOR_BGR2GRAY), cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)\n",
"\n",
"l = []\n",
"for i2 in contours:\n",
" (x, y), radius = cv.minEnclosingCircle(i2)\n",
"\n",
" if radius > 10:\n",
" cv.drawContours(erosion, [i2], -1, (100, 100, 255), 1)\n",
" cv.circle(erosion, (int(x), int(y)), 20, (0,255,0), 1)\n",
" l.append(((x, y), radius))\n",
"\n",
"l = sorted(l)\n",
"plt.imshow(erosion)"
]
}
],
"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.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment