Skip to content

Instantly share code, notes, and snippets.

@achabotl
Last active August 29, 2015 14:06
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 achabotl/5f18bb02d4abc4491469 to your computer and use it in GitHub Desktop.
Save achabotl/5f18bb02d4abc4491469 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:ab5b0f97916b85ea193d953e6c593b6fd2b30e9de172c905cd1af1eec9558bd0"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from __future__ import division\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create the image."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"n_white, n_gray, n_black = 20, 50, 30\n",
"in_white = np.zeros(n_white).reshape((n_white / 10, 10))\n",
"in_gray = 125 * np.ones(n_gray).reshape((n_gray / 10, 10))\n",
"in_black = 255 * np.ones(n_black).reshape((n_black / 10, 10))\n",
"img = np.vstack([in_white, in_gray, in_black])\n",
"plt.imshow(img, cmap='bone', interpolation='nearest')\n",
"plt.colorbar()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
"<matplotlib.colorbar.Colorbar instance at 0x10df31200>"
]
},
{
"html": [
"<img src='data:image/png;base64,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\n",
"Fs8AAAAASUVORK5CYII=\n",
"' width=296 height=251/>"
],
"metadata": {},
"output_type": "display_data",
"text": [
"<matplotlib.figure.Figure at 0x10a4d8dd0>"
]
}
],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Calculate how many pixels are in the white, gray, and black ranges."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"lower = 255 / 3\n",
"upper = 2 * lower\n",
"black = np.sum(img >= upper)\n",
"gray = np.sum(np.logical_and(lower <= img, img < upper))\n",
"white = np.sum(img < lower)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"all = img.size\n",
"print \"Total pixels: %d\" % all\n",
"print \"White pixels: %d (%5.2f%%)\" % (white, 100.0*white/all)\n",
"print \"Black pixels: %d (%5.2f%%)\" % (black, 100.0*black/all)\n",
"print \"Gray pixels: %d (%5.2f%%)\" % (gray, 100.0*gray/all)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Total pixels: 100\n",
"White pixels: 20 (20.00%)\n",
"Black pixels: 30 (30.00%)\n",
"Gray pixels: 50 (50.00%)\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"assert(n_white == white)\n",
"assert(n_gray == gray)\n",
"assert(n_black == black)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment