Created
February 13, 2017 13:49
-
-
Save ypwhs/cbdcbb15fa3105bd4eb0c35419276a93 to your computer and use it in GitHub Desktop.
heart
This file contains hidden or 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": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.image.AxesImage at 0x124b83510>" | |
] | |
}, | |
"execution_count": 1, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\nw4skSSrK/w9YvdZFMgKAlwAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x10c8aeb50>" | |
] | |
}, | |
"metadata": { | |
"image/png": { | |
"height": 255, | |
"width": 279 | |
} | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"%matplotlib inline\n", | |
"%config InlineBackend.figure_format = 'retina'\n", | |
"\n", | |
"w = 2000\n", | |
"h = 2000\n", | |
"img = np.ones((h*2, w*2, 3))\n", | |
"for i in range(w*2):\n", | |
" for j in range(h*2):\n", | |
" ii = (w-i) / float(w/2)\n", | |
" jj = (h-j) / float(h/2)\n", | |
" if (ii**2+jj**2-1)**3 < ii**2*jj**3:\n", | |
" img[j, i, 1:] = 0\n", | |
"\n", | |
"plt.imshow(img)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import cv2\n", | |
"cv2.imwrite('heart.png', img[:,:,::-1]*255)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.13" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment