Skip to content

Instantly share code, notes, and snippets.

@sharow
Last active May 21, 2016 11:08
Show Gist options
  • Save sharow/e220c1e127da2069b690df086a0238f3 to your computer and use it in GitHub Desktop.
Save sharow/e220c1e127da2069b690df086a0238f3 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": {
"collapsed": false
},
"outputs": [],
"source": [
"%load_ext Cython\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%%cython\n",
"#cython: wraparound=False\n",
"#cython: boundscheck=False\n",
"#cython: initializedcheck =False\n",
"#cython: cdivision=True\n",
"\n",
"cimport numpy as cnp\n",
"\n",
"def binarize(cnp.uint8_t[:,:,::1] ima, cnp.uint8_t threshold):\n",
" cdef int i, j\n",
" cdef cnp.uint8_t L\n",
" \n",
" for i in range(ima.shape[0]):\n",
" for j in range(ima.shape[1]):\n",
" L = (ima[i, j, 0] + ima[i, j, 1] + ima[i, j, 2]) / 3u\n",
" if L <= threshold:\n",
" L = 0\n",
" else:\n",
" L = 255\n",
" ima[i, j, 0] = L\n",
" ima[i, j, 1] = L\n",
" ima[i, j, 2] = L"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import time\n",
"import matplotlib\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import io"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"17.98 ms\n"
]
},
{
"data": {
"image/png": "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\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xaf5eb7ec>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data = b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x00\\x00\\x01\\x00\\x01\\x00\\x00\\xff\\xdb\\x00C\\x00\\xa0nx\\x8cxd\\xa0\\x8c\\x82\\x8c\\xb4\\xaa\\xa0\\xbe\\xf0\\xff\\xff\\xf0\\xdc\\xdc\\xf0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xdb\\x00C\\x01\\xaa\\xb4\\xb4\\xf0\\xd2\\xf0\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xc0\\x00\\x11\\x08\\x02\\x00\\x02\\x00\\x03\\x01\"\\x00\\x02\\x11\\x01\\x03\\x11\\x01\\xff\\xc4\\x00\\x18\\x00\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\x03\\x04\\xff\\xc4\\x00%\\x10\\x01\\x01\\x00\\x02\\x03\\x00\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x01\\x02\\x11!1AQ\\x03\\x122aq\"B\\x91\\x81\\xa1\\xff\\xc4\\x00\\x16\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x02\\xff\\xc4\\x00\\x16\\x11\\x01\\x01\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x11\\xff\\xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x11\\x03\\x11\\x00?\\x00\\xd0\\x824\\x00\\n\\x00\\x0c\\xd6\\x99\\xa0\\xca\\xa2\\xa8\\x00\\x80\\x00(\\x02\\x80\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x80\\x00\\x00(\\x00\\x80\\x00\\x00\\x02*\\x02\\xc5e\\xa8\\n\\x80\\x00( \\x00\\x00\\x0b\\x8bL7\\x012\\xe9\\xcd\\xd5\\x8c\\xa6\\xa8 \\x8a\\x00\\x00\\x00\\x00\\x00\\x17)#6\\xb2\\xa3\\xa8*\\x08(\\x00\\x003Zf\\x83*\\x8a\\xa0\\x02\\x00\\x02\\xa8\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x02*\\x08,E\\x80\\xaa\\x8a\\x00\\x00\"\\xa0\\x00\\x00\\xb2\\xa0\\r\\xa5\\x9b\\x8b*\\xa28\\xf45\\x9c\\xf5\\x95U\\x00\\x00\\x00g*e\\x93*\\x00\\x03\\xb0\\x08\\x00\\x80\\xa0\\x00\\xcdi\\x9a+*\\x8a\\xa8\\x00\\x80\\x00\\xaa\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x06\\x80\\x17I\\xaa \\x00\\xa0\\x00\\x00\\x00\\x00\"\\xa0\\x0b\\x11DP\\x01P\\x00\\x00\\x00\\x00\\x00\\x16V\\x98jPZ\\xe7f\\xab\\xab9\\xcd\\xc1\\x1c\\xd5\\x14Q\\x9c\\xb2\\xf82\\xc9\\x95\\x00\\x04\\x00\\x15\\xd8\\x04\\x12\\x89i\\x05U\\x01\\x06kL\\xd1Y\\x01Q@E\\x00\\x05\\x00\\x00\\x00\\x00\\x008\\x00\\x01\\x14EP\\x8a\\x8a\\x88\\xa8\\x00\\xa9\\xf6\\xc5\\x01\\x9b,F\\xd2\\xe3\\xb1u\\x90\\xe8\\x00\\x01D\\x00\\x08\\x10F\\x80\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x97@\\r\\xc5g\\x1a\\xd0\\x8eyMV2\\xae\\x9fR\\xeb\\x17\\x12(\\x02\\x80\\x00\\x00\\x0e\\xc9U\\x9bPf\\xd6\\xa3-AZ\\x00A\\x9a\\xd34V@TP\\x10\\x00\\x14\\x00\\x14\\x00\\x0e\\x82\\xf6\\x08\\xa8\\x08\\xa0\\x00\\x00(\\x00\\xaa\\x8a \\x00\\x00\\x01\\xad\\xb1q\\xd3k\\xa0r\\x1b\\xb8|1x\\xba\\xa2\\x80\\x00@\\x82\\xb4\\x00\\x80 (\\x8a(\\x00\\x00\\x00\\x00\\r}\\xd2M\\xd6\\\\\\xf2\\xbb\\xa2.y}\\xd7\\xf4\\xc8(\\x00\\x00\\x02\\x05+Xc\\xbeh\\xad\\xd6*\\xda\\x88\\xa3Q\\x96\\xa04\\x00\\x835\\xa6h\\xac\\x80\\xa8\\xa0 \\x00\\x02\\xa2\\x8a\\x00\\x02\\x00\\n\\x80\\x8a\\x00\\x00\\xa0\\x8a\\x00\\xaa\\x80\\x8a\\'k\\xad\\x00\\xa0\\xa0\\x02\\x039\\xe3\\xbecJ\\xa3\\x82\\xaex\\xea\\xee2*\\x91\\x16\\x03A\\x04Q\\x9a\\xd2Q\\x19\\x97\\x96\\xa3\\x9f\\xad\\xca\\xa3@\"\\x80\\x00\\t\\x95\\xd4\\x04\\xcf/\\x18\\x05@\\x00\\x00\\x01H\\xb2\\x08I\\xba\\xdc\\xe0\\x82+\\x00(5\\x19j \\xaa\\x8a\\x035\\xa6h\\xac\\x80\\xa8\\xa2*\\x00\\x02\\x80\\x02\\xa3]b\\xc8\\x00\\x00\\xa8\\xa2\\x00\\xa0\\x8a\\x80\\n\\x8b&\\xc0\\xda\\xc9\\xf2\\xba\\x04\\x15\\x00T\\x14\\x00\\x00\\x01A\\x8c\\xf0\\xf66\\xa0\\xf3\\xb5\\x0c\\xf1\\xd5\\xdf\\x84\\x15\\xa8\\x10E\\x12\\xaaQ\\x1c\\xefk*QGIU\\x8ckQ\\x15@\\x01\\xcf+\\xba\\xd6w\\xc6\\x16 \\x00\\x00\\x00\\x04\\xe6\\x88\\xb2m\\xb8I\\xa5\\x14TT\\x1c\\xc0Pj2\\xb1\\x15\\xa5H\\xa2\\x0c\\xd6\\x99\\xa2\\xb2\"\\xaa\\x00\\xa8\\x00\\x00\\xb3\\x9b\\xa4k\\x0e\\xf6\\x06l\\xaeH\\x00\\x02\\xa8\\x02\\x00\\x00\\x0b \\x12|\\xb4\\x80(\\x8a \\x00\\n\\x80(\\x8a\\xa0\\x00\\x00\\x02g7\\x8dr\\x8e\\xcey\\xe3\\xab\\xb0\\x8b\\x02\\x08\\xd0\\x95R\\x88\\xe7C\\xba\\xe9\\x87\\xd3\\xf7%Fp\\xc2\\xde|u\\x9a\\x9d\\x1d\\xf4\\xbd\\x00Y\\xc0\\xa8<\\xd7\\xbeF\\xbe\\xa4\\xd6u\\x95\\x00\\x05\\x00\\x01\\xbcbc6\\xd8\\x00\\xa8\\x00\\x80\\xc2\\x80#Q\\x16\\n\\xaa\\x8a \\xcdi\\x9a\\x0c\\x80\\xa2\\x80\\x8a\\x00\\x03x~,78\\xc2\\x08\\xceH\\xb5\\x05\\x00\\x05\\x00\\x03\\xb3\\xb5\\x9c\\x08I\\xa5@\\x14\\x00Q\\x01\\x14@\\x14\\x00\\x00\\xd8\\x06\\xcf\\xe8\\n \\xa2\\x97\\x94\\x01\\x9b5F\\xaf1\\x94Q5r\\xe9\\xa9>T51\\xc6c\\xfd^\\xd7B\\xa0\\x02\\x02\\xa2\\x83\\x87\\xd5\\xfc\\xd9\\\\\\xae\\xf2\\xa8\\xa0\\x00\\xa19\\xa3x\\xc0jM@\\x10TT\\x00\\x00d@\\x15c-AZ\\x81\\x01\\x06kL\\xd0d\\x05\\x14\\x04P\\x00\\x1d/N~\\xbaQ\\x18\\xa8\\xd5AP\\x00Q\\x14E\\x04\\xec\\x14\\x00\\x15\\x14\\x00\\x00\\x00\\x05@\\x14E\\x10\\x00\\x00@T;P\\x01A\\x14\\x00\\x00\\x04/\\x08\\r\\x16\\xeaZ\\x92\\xb3\\xf5n\\xb1\\xd7\\xc89\\x00\\xa0\\x07b\\xae3n\\x89\\x8c\\xd4P\\x14\\x10\\x11P\\x01P\\x18\\x00\\x06\\xa2,\\x15\\xa0\\x80\\x835\\xa6h2\\x02\\x8a\\x80\\x8a\\xa0\\x80\\xb3\\xf2\\x8e\\x95\\xcf\\x1f\\xca:\\xd2\\xa3\\x08\\xd2\\x03\"\\xd0P\\x01\\x0e\\xd4@Q\\x14\\x00\\xe97\\xbe\\x81U\\x9d\\xd3j4&\\x92]v\\r\\t\\xb1\\x05\\x13e\\xbaQD\\x97|\\xc5\\x91\\x00\\xd2\\xff\\x00\\r\\x08\\x00\\x00(\"\\x80\\x00\\x96\\x82^i\\xdb7\"n\\x8a\\xd6.\\x7fR\\xef/\\xe3\\xad\\xff\\x008\\xed\\xc1P\\x00\\x06\\xb1\\x8c\\xbac5\\x05PT\\x04\\x00T\\x00\\x00\\x06@\\x01b,\\x15\\xa8\\x10D\\x19\\xad3Td\\x05\\x05EE\\x01\\x01g\\x19GZ\\xe2\\xeb.\\xe4\\xa2\\x15\\x9d\\xb5zc\\xd0(T\\x05\\xec\\x00\\x00\\x01P\\x03\\xb2\\xfe\\x8a\\x9bP\\xe5=\\xec\\xb5\\x01\\xbd\\xa5\\xa7I.\\xea\\xa1\\xbd\\x9b\\xbe\\t=\\x02\\xd2o\\xc4\\x9c\\xdd:Lf?\\xba\\x81\\x84\\xd4\\xe5\\xadl\\x93\\xda\\xa8\\x00\\x00\\x00\\n\\x87@\\xa9l\\x9d\\xa5\\xcb\\xe1\\x8a\\r\\\\\\xfe\\x19\\xb6\\xd3K1\\x15$o\\x19\\xa2I\\x1c\\xf3\\xcbwS\\xa5\\x17\\xeae\\xbb\\xa9\\xd4`\\x04\\x00\\x15\\xacf\\xebi\\x8c\\xd4P\\x14\\x10\\x11@@\\x00\\x00\\x19\\x00\\x05\\x88\\xb0V\\xa0@A\\x9a\\xd34\\x19\\x11T\\x15\\x04U\\x11A\\x1d0\\xbf\\xe7L\\x18\\xdd]\\x88\\xe8\\xce\\x9b\\xf1\\x90f\\xfc\\x10\\xfd\\x80P\\x14\\x00\\x03\\x7f)n\\xaa_\\xe8\\t\\xfd7\\xf0ZN\\xadTF\\xa7\\x13l\\xce\\xd6\\x81n\\xea\\xc9\\xa9\\xc2t\\x7f\\xc8\\x1d\\xf1\\x0cf\\xfa]\\x7f\\x9d|\\xac\\xe3\\x88\\x0b$\\x9cN\\xda\\x93D\\x9aV@\\x00\\x04P\\x01/@\\x9798\\x9d\\xb3\\xbb\\x97i\\xaeUE\\x8b\\xa4X*\\xae\\x92\\xd9;s\\xcb;\\x97\\xf1\\x05\\xcf=\\xf1:`\\x14\\x00\\x01q\\x9b\\xa8\\xde0\\x1a!\\x15\\x00\\x00\\x00\\x04\\x15\\x00\\x00\\x19\\x00\\x11b,\\x15\\xb8\\x10\\x10f\\xb4\\x94\\x1c\\xd4\\x14\\x05\\x11@\\x00\\x00\\x1b\\xc3\\x9cV\\xf4\\x9fO\\xa3;\\xe0\\x8c\\xa0\\xa0\\x07B\\x8352\\xbc\\x9d@6\\xbe2\\xb1Q\\x17\\xf4^\\x8e\\xa8\\x17\\x8e\\x11\\xab\\xab%f\\x82\\xec\\x9c\\xc3\\x19\\xba\\xd6\\xb7\\xc4\\xe9\\x02v\\xd45\\xa6\\x80ED\\x00\\x00QA\\x05\\x01\\xcf(\\xce\\xfco(\\xe7{Uj_\\x1a\\xf1\\x89zo\\xc0s\\xca\\xee\\xa1{\\x00\\x05\\x04\\x00\\x167\\xe38\\xc6\\x81b\\xa2\\xa0\\x00\\x00\\x00\"\\x80\\x80\\x03 \\x02,E\\x82\\xb7\\x02\\x02\\tU(0\\x02\\x8a\\x02\\x01\\x00U@\\x05\\xc2\\xea\\xae}\\xa1n\\xc4E\\x00J\\xcd-\\xdd\\'\\xaa&\\xd6\\xf6\\x8b\\xda\\xa2\\x0bxOAWL\\xaf{\\x05\\xd7\\xf9\\xfe3&\\xea\\xe3|\\xf9jMMN\\xd0Y<\\x8dk\\x84\\x9c5\\x11R\\xacJ\\xaa\\x89@E\\x16\"\\x80\\xa8\\xa2\\x00\\x02e\\xd3\\x8eN\\xd5\\xcb(+1\\xd7\\x1f\\xc5\\xc9\\xd3\\x0e\\xaa\\x8c^\\xd1oh\\n\\x08\\x00.3t\\x1b\\x9cE\\x82\\xc4\\x10P\\x10T\\x01P\\x05@\\x00\\x00d\\x00E\\x88\\xb0V\\xe0@A*\\xa5\\x06\\x00Q@@\\x00Qd\\xdd\\x17\\xa0g+$\\xd7d\\xcb|h\\xcb\\x1bjc,\\xaa\\x8d^\\x19\\xb7\\x85\\xca\\xfc\\xb39\\xa0u\\x0cz\\xb4\\xee\\xac\\xbc\\xe9Q\\x95\\xdaN\\xcf@T\\xbc\\x13\\x80Y\\xd5K\\xd2\\xf0c7wz\\x05\\xc6jo\\xd6\\xe4\\xd4\\xfd\\x92z\\xd4eR\\xacK\\xcd-\\x90E\\xbc1\\xf7S{\\xec\\xdc\\x14\\xfb\\x96T\\xbag@\\xe83-\\xf5\\xa0P\\x80(\\x8c\\xdc\\xaf\\x80\\xd5\\xaeY^Wv\\xfa\\x97@\\xcbxv\\xc3X~QC.\\xd1\\xac\\xd9\\x01\\x00\\x06\\xf1\\x8c:N\\x81U\"\\xa0\\x08\\x02\\x88\\x00\\x00\\x00\\x00\\x08\\xa2\"\\xa2\\x02\\xc4\\\\A\\xb8\\x10\\x01*\\xa5\\x06\\x03\\xd1E\\x01\\x15\\x1a\\xc6m\\x9b\\xc3Xe\\xfeD[\\xc5\\xd0\\xba\\xdf,\\xe5u\\xc5\\x02\\xe5\\xa62\\xcbt\\xb9n\\x93\\x8f\\xea\\x86\\xb59_\\xd2~\\xc99TY\\x19\\xf5\\xbf\\x96\\x01g5\\x0e\\xaa\\xde\\xc0\\x9c\\xcf\\xdak@\\x80\\xe9\\'\\x9f\\xfa\\xce<s\\xa6\\xe7\\x13\\xf6*\\xa9\\x0bt\\x88\\x99e\\xf6\\xff\\x00\\\\\\xadj\\xcbY\\xd6\\xaa\\xa9\\xb4\\xed\\xab\\t7\\xc4\\x04\\xb8\\xd8\\xb8\\xe5\\xf2\\xeb\\xae\\x1c\\xec\\xd5\\x05VU\\x15\\xa8\\xd2D\\xce\\xf1\\xa1\\x19\\xcb?\\x867ib\\xe39\\xd2\\x89f\\x86\\xb3`\\x06\\xb0\\xfc\\xa3-c\\xf9@\\\\\\xd9o>\\xd8\\x04\\x00\\x17\\x1e\\xdbL#@\\x00\\x80\\x00\\x00\\x00\\x00\\x00\\x00\\x82\\xe9Q\\x94T\\x14\\\\Y\\\\A\\xd2*E@f\\xb4\\xcd\\x06\\x15=QD\\xcb\\xcd*\\xc1\\x12c\\xf2\\xd4\\xd4KY\\xfe\\xa8\\xd6Y\\xeb\\x8c\\x7f\\xf5\\x8e\\xfbK\\xca\\xeb\\x91\\x17R_\\x9a\\x96\\xf2\\xd6\\xfe{g*\\xa1<Y\\xdaN\\x96s\\xd7`\\xbf,\\xd9\\xa6\\xb7\\xae\\x19\\xcb\\xbe{\\x04\\x01\\x14$\\xdd\\x1b\\xc6j~\\xe8.3\\x9f\\xd4n$\\x9c-\\xb3\\x19\\xb4D\\xca\\xe9\\x9e\\xd3\\xbb\\xba\\xb0P\\xb3jh\\x13\\xa5\\x97^\\x1a4\\x0b\\xf7m,] \\x02\\xb7\\x8ag6\\xb8\\x94F\\r\\xc9:[\\x11Fm\\xdaV\\xb4\\xcd\\x04Y\\xf9DY\\xdc\\x06\\xf3\\xf1\\x8a\\xe9\\x97\\xe2\\xe7A\\x01q\\xec\\x1b\\x9cE\\x88\\xa8\\x00\\x00\\x00\\x00\\x00\\x08\\x02\\xe9dQ\\x13J\\x00\\xe4\\x08\\xaa.(\\xb8\\x83qR*\\n\\xcdT\\xa0\\xc0z\\xaa.\\x8e\\x10\\xe6\\xd0._\\x11-\\xd8k\\x95D\\x8dFm\\xf8j^\\x01/\\x1f\\xd6V\\xfc ,\\xba^\\x19<\\x06\\xbe\\xedy\\xc9\\xad\\xcd\\xb3{n \\xc5\\x17)\\xaa\\x80\\xb8\\xcd\\xd7I\\xcdg\\x19\\xa9\\xfdnN\\x05^\\xa3\\x95\\xcb\\xee\\xcb\\xf4\\xbfS/\\xf9\\x8c\\xc0j***\\xaa(\\x80\\x00%T\\x01\\x15\\x05k\\x16\\xab8\\xb5z\\x12\\xb2\\x8a\\x80\\x8c\\xe4\\xd3\\x19*\\xa2\\xfb\\x10\\xbd\\x88\\xeby\\x8eN\\xbf\\x0eW\\xb0\\x1a\\xc1\\x96\\xf1\\xe8\\x1a\\x08 \\x00\\x00\\x00\\x02\\x00\\xd4\\x89#@\\x00\\x88\\n(\\xe0**\\x8b\\x8b-b\\r\\xc5H\\xa8\\tU(0\\xbd\\xc4\\xf5u\\xa5\\x17\\x86r\\xb6\\xd5N\\xe8/SL\\xd5\\xf1\\x15\\x17\\\\,\\xebIx\\xd4Y\\xf9\\x02e\\xe5eo\\xb3\\xe1\\x00Y8F\\xa2*I\\xba\\xde\\xbf\\xcaK5\\xc3;\\xd4\\x05\\xfb\\xbf\\xcf,\\xe37F\\xe6:\\x05\\x93u\\xac\\xf2\\xfbg\\xed1\\xe29\\xe7w\\x90\\x89\\xea\\xfa\\x93\\xb6\\xbd\\x15b\\xa4TU\\x00\\x14E\\x10J%\\x00\\x01V7\\xe3\\x11\\xb9\\xd0\\x95\\x80\\xf4\\x04\\xac^\\xda\\xbd0\\xa2\\xa5\\xedb^\\xc1\\xd6u\\x1c\\xf2\\xfc\\x9b\\xc7\\xf1g>\\xc1\\x99\\xcdtc\\x0e\\xdd\\x00\\x01\\x00\\x00\\x00\\x01\\x05\\x80\\xd4\\x01\\x10PP\\x00\\x1cP\\x15E\\xc6#X\\x83QA\\x01*\\xa5\\x066\\x17\\xb1E\\xf1=k\\xc6\\'`\\xb6\\xf0c\\xde\\xfcMl\\xb7\\xc9\\xd2\\xa1y\\xe5\\xafeE\\x02\\xfe_\\xd6=nt\\xceS\\x90,\\xe3h\\xde7X\\xea\\xb0\\x8a\\xd7\\x13\\x1f\\xdb-I\\xf751\\x11\\x9c\\'\\xfa\\xddtb\\xf7\\xc3V\\xfd\\xb8\\xfe\\xe83\\x9eZ\\xe20($\\xed\\xafY\\x9d\\xb7{\\x14\\x8a\\x8a\\x8a*(\\x00\\x00\\x95A\\x12\\xf5\\xc2r\\xd1&\\xc5H\\xde\\xf8I\\x16\\x88\\xca*[\\xa8\\x0cey@QR\\xaa\\x03\\x7fO\\xa4\\xcf\\xa3\\xe9\\xf7W.\\x80\\xc24\\x98\\xf1\\x15\\x00\\x00\\x00\\x00\\x00F\\xa3-\\xc0\\x15\\x15\\x10\\x01@\\x00p\\x01Tk\\x16Z\\xc4\\x1b\\x01\\x01+L\\xd0b\\xf6\\xb1;\\xabx\\xe1Eb5\\xe33\\xe4\\x17+\\xe4B\\xf6*\\x0b;\\'F\\x80\\x9f\\xb5\\xb3i\\xdf\\xf5e\\xd7`\\xceW\\x9dBE\\x92[\\xb6\\xf1A1\\xe9r\\xba\\x9a[\\xacc\\x1c\\xda\\x04\\xe3\\x9b\\xd36\\xdc\\xae\\xd7;\\xbb\\xa9\\xd4f\\n*,\\x04m\\x8fZ\\x05T\\x8a\\x8a*(\\x00\\x9b\\x05\\x13f\\xc1Z\\x8c}\\xc6\\xc4n\\x15\\x9b\\x92n\\x82\\xb1\\x9d\\xf1\\xab\\xc4sP \\xa2\\x08\\xa0\\xab\\x87m^\\xd8\\xc7\\xf2n\\xf6\\n\\x02\\x00\\x00\\x00\\x00\\x00N\\xdafv\\xd8\\x00\\x08\\x00\\x00\\x00\\xf3\\xaa\\n\\xab\\x1a\\x8c\\xc6\\xa07\\x02\\x08+5\\xa6h3x\\xfe\\x93\\x9a\\x97\\xb5\\xea(Z\\xce\\xb8\\\\\\x8b\\xf8\\x03+\\xe9;7\\xca\\xa3X\\xfe5%k\\xacS[\\xe4\\x10\\xef\\xb2qT\\x16M5\\x8f\\x7f\\xa6e\\xe1g\\xe2\\x8a\\x96\\xfd\\xd4\\xca\\xfd\\xb3S\\xba\\xb6\\xccg\\xed\\xcb\\xb0\\x00\\x10TQR\\xb4\\x80,i\\x88\\xd2*\\x88\\xa0\\xa8( \\x00\\xb2E\\xd4d\\x05\\xba\\xf0\\x13+\\xa1\\x19\\xce\\xf8\\xc8(*,\\xec\\x15\"\\xa7\\xa0N\\xdd\\x1c\\xe7n\\x85\\x00\\x10\\x00\\x00\\x00\\x11P\\x17\\x16\\xd8\\xc5\\xb1\\x00\\x00\\x00\\x00\\x01\\xe7\\x01U\\xa9\\xd2\\xc4\\x8b\\x01\\xa8\\xa9\\x15\\x01*\\xa5\\x06/k\\xe2^\\xcf\\x14B\\x85\\xedP\\x88\\xb1\\x01\\xd2\\xde!\\x12\\xce?\\xf8\\x90\\x16\\x93\\xa55\\xa0N\\xb4\\xdc\\xb2b\\xcd\\x9c3m\\xd7\\xe9\\x04\\xca\\xee\\xed\\x00\\x01PP\\x00Q\\x00U\\x95\\n\\r+\\x12\\xb5**\\xaa(\\x00\\xa2\\x1a\\x00\\x11\\xce\\xdd\\xe4\\xdd\\xe9\\xcd@\\x14DY\\xda.=\\x8a\\xa8\\xa8\\x03\\xab\\x93\\xa8 \\x08\\x00\\x00\\x00\\x82*(\\xb86\\xce\\r\\xa0\\x80\\x00\\x00\\x02m.r\\x03\\x88\\xd6\\x99\\xd2\\xaa\\xc6\\xa31e\\x06\\xe2\\xa4T\\x04\\xaa_\\xd811\\xf6\\xf4ov\\xf1\\xd1\\x95\\xb6\\xa5\\xe3\\x1f\\xddQ\\'b-T\\x11ge\\x80\\xdc\\xea3f\\x89y\\xd5[\\xfb\\x04\\x97\\x85\\xf3f2|\\x96\\xee\\xf1\\xd05\\xe2K2\\xe3\\xd4\\x9f\\xfe\\x1a\\xdd\\x06r\\x96#\\xa5\\xbc\\xea\\xb1f\\xae\\x80\\xf1\"\\xf8DT\\x00\\x05@\\x14E\\x80\\xb2/\\xdaEA4\\xba\\x00P\\x01M\"\\xc0K\\x8d\\xb1\\xce\\xe3g\\x8e\\xca#\\xce:\\xdc%\\xfd1\\x966(\\xca\\xc4X*\\x87\\xa0#\\xa5bw\\x1b\\xa0\\x86\\xc1\\x03k\\xb6E\\x1a\\x19\\xd9\\xb0P\\xdalGLzRt \\x00\\x03\\x19e\\xa3,\\xb4\\xe7n\\xe8\\xa5\\xca\\xd4Y\\x15F\\x92\\xc5\\x95Ds\\xb0\\x9d\\xb5\\x94fv+\\xa4T\\x8a\\x80\\x95S\\xd0Mk\\xb62\\xbb\\xca\\xbag\\xce_\\xc7%\\x06\\xa4\\xe1\\x95T&7k{M\\x80wW~v\\x9b\\xf81\\xe2\\x83]\\x7fR\\'\\xab\\x01}T\\x9d\\xa83y\\x9cv~X\\xfe\\xe2\\xebYn\\x17R\\xeet\\x83>\\x10\\xcaj\\x90\\x10\\x00\\x05 \\x04X\\x9e\\x8a\\xd4T\\x9d*(\\n\\x00\\x00*(\\x8a\\x00\\x8a\"\\x83\\x9e\\x7fO\\xd8\\xc4\\xe1\\xdd\\x8c\\xf0\\xdf1F=@\\x15q\\xfc\\xa3la\\xf96\\x00\\x08 \\xa8\\t\\xa1E\\x12\\'\\xad\\x12r\\x83s\\xa5\\x04A\\x8c\\xb2\\xd3V\\xb8\\xe5\\xcdU;\\xa2\\x8a\\x02\\xa0&5\\xd29G\\\\z\\x10\\xae~\\xbaW/\\xfa\\x07X\\xa9\\x15\\x14F\\x99\\xa0\\xceL7\\x97\\\\\\xb0\\xa8@\\x00j\\xf7\\x12M\\xd3>\\xd4N\\xaa\\xde\\xf6\\x97\\xb5\\x9c\\x02\\xf7M&\\xf7V\\x01\\x1a\\x97\\xd6kX\\xf4\\x05\\xe9\\x9cn\\xe5\\xc6\\xb5y\\xc5\\x8c\\x7f(\\x0b\\xf5:\\xc6\\xfe\\x99\\x8d\\xfd[\\xd4buP\\x05\\xbe \\xaa\\x85X\\rN\\x99\\xbd\\xb4\\xce]\\x83QR*(\\xa8\\xa0\\x00\\x02\\xa2\\x88*(\\n\\x8a \\x009}Luw\\xe3\\x0e\\xf9\\xcf\\xbb\\x1d8(\\xd6\\x1d\\xd6\\xd9\\xfa}4\\x8a\\x00\\x00 \\x00(5\\x8c\\xe4\\x91\\xa4\\x00*#\\x19\\xd6\\x16\\xdd\\xd4U\\x14*\\x88\\xa8\\xa0\\xe7\\x1d\\xb1\\xe9\\xc5\\xd7\\x1e\\x84Z\\xe5\\xff\\x00N\\xd5\\xca\\xfe@\\xe9\\x151TUf\\xaaPc>\\xd9k&U\\x00\\x01\\xa9\\xc7\\xf52\\xec\\x9d\\x95D\\x80 *x\\xb5E\\xbf\\xa6\\xb1\\xe9\\x8ck`_\\xd7\\x84\\x9c\\xefIx\\xe6$\\xcf\\x8e\\x80\\xb6Y~k>5\\xbc~4j|\\xa0\\x88\\xd6\\xb5\\xfbdQ\\xa9\\x19\\x8d\\xc0Vom3\\xff\\x00H,R\\x02\\x82\\xa0(\\x8a\\x00\\x02(\\x00\\xa0\\x08\\xa0\\x02\\xbc\\xff\\x00Rk:\\xee\\xe7\\xf5\\xa7UD\\xc3\\xf1i1\\xea*(\\x00\\x08\\xa8\\x02\\xe3\\xda5\\x884\\x02 \\xceU\\xaa\\xe7{\\x15\\x95\\x05\\x04Z\\x8a**\\x03\\x0e\\x98t\\xe6\\xe9\\x80\\x8d\\xd7+\\xf9:\\xb9\\xe5\\xd87\\x8a\\xb3\\x8bH\\xa2UJ\\x0cg9e\\xbc\\xbbaAz@B\\n(\\x85\\x00\\x17\\xb3\\xc3\\x1e\\xc1g=+6j\\x92\\xf3\\xc85/\\x89gi\\xff\\x00\\\\7/\\x1c\\x83\\x9f\\xbc\\x87|\\x88.\\xf4\\x80*\\xc6\\xa2F\\x90\\x19\\x9d\\xaeW\\x84\\xc6(\\xd2\\xa2\\xa2\\x80\\x02*\\x00\\xa0\\x00\\xa8\\xa2\\n\\x8a\\n\"\\x88&sx\\xd5\\x01\\xcet\\xa9\\x97\\x1c3\\xb1[\\x19\\xda\\xec\\x15\\x14\\x11\\x16p\\x02\\xb5\\xb5g\\x1e\\xdaDL\\xbaso*\\xc5U\\x10\\x14\"\\x88\\x00\\x14\\x18o\\x04\\xd3X\\xf1Dm\\xcf.\\xdd\\x18\\xcf\\xb0\\\\Zg\\x16\\x91B\\xab9t\\x0cVom^\\x99P\\x00@\\x15A\\x15\\x10\\x16_\\x10Q\\xbe\\xe2k\\x93\\x1c\\xbeZ\\xb3\\x80g\\xae{M\\xf0\\xd3\\x08\\x00\\x00\\xb1#PU\\x80\\xceW|DS\\xba\\xdcg\\x18\\xd0\\x82\\xa2\\x8a\\x00\\x02*\\x02\\x80\\x02\\xa0\"\\xaa\\x00\\xaa\\x8a \\x009\\xfdI\\xfe\\x99\\xd3\\xa7\\xd4\\x9f\\xe5\\x85T6\\xa8\\x06\\xc9\\x92T\\x07IWI\\xf4\\xdb\\xa8\\x18\\xad#\\x19\\xe5\\xa4\\x19\\xca\\xb2v4)\\x08P\\x01A\\x12\\xad@X\\xd4bV\\xa0\\x8d\\xb3\\x93Q\\x9c\\x80\\xc5\\xa6qi\\x15Y\\xcb\\xa6\\x99\\xcb\\xa0c.\\x99[xE@\\x00\\x16\\x17\\xb2(z\\x97\\xb5\\x9d\\xad\\x9c\\x02N\\x82\\x13\\x8a\\x07\\x8b:\\xdcK\\xfajt\\tn\\xe3+g\\xc7H\\x80\\x00\\xab#[\\x91\\x9eM\\x01m\\xbd,\\x8b\\xa5@\\x00QQ@\\x00\\x00\\x00\\x00\\x00\\x04Q\\x14\\x14E\\x11@\\x02\\xf3\\x1c]\\x9c\\xb3\\x9a\\xc8\\x01\\x15U\\x13M\\x00\\xb8:9\\xce\\x0b\\x92\\x0br\\xd3\\x9d\\xbb\\xaa\\x02,\\x15A\\x95H\\x0b\\x14(%@\\x04jv\\xca\\xce\\xc4v\\x93\\x84\\xcap\\xb3\\xa2\\xf4\\x83\\x11\\xa6cB\\xab9t\\xd39\\x03\\x9a\\x14T\\x14\\x00\\xf0\\x9dS\\xd5\\xeb\\x15\\x19\\x9d\\xb7;\\xb1\\x99\\xda\\xfbA:\\xa6K\\x973e\\xfcA\\'1e\\xd7\\t\\n\\x0bYk~\\xa5\\x9f\\x00\\x8b!#Q\\x14\\x05E\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x00\\x00\\x00\\x04\\x15\\x14\\x05E\\x01QD\\x18\\xfa\\x93\\xaa\\xdag7\\x889**\\xa8\\n\\x82\\n\\x02\"\\xd4P\\x00\\x11\\xa9\\x124\\x08\\x94\\xb5\\x90T#R\\x03\\xff\\xd9'\n",
"im= Image.open(io.BytesIO(data))\n",
"\n",
"t = time.monotonic()\n",
"bim = np.asarray(im, dtype=np.uint8) # copy\n",
"bim.flags.writeable = True\n",
"binarize(bim, 127)\n",
"elapsed = time.monotonic() - t\n",
"print('{:.2f} ms'.format(elapsed * 1000))\n",
"plt.imshow(np.hstack((im, bim)))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment