Skip to content

Instantly share code, notes, and snippets.

@ctmakro
Last active April 15, 2024 03:22
Show Gist options
  • Star 26 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ctmakro/3ae3cd9538390b706820cd01dac6861f to your computer and use it in GitHub Desktop.
Save ctmakro/3ae3cd9538390b706820cd01dac6861f to your computer and use it in GitHub Desktop.
Display numpy ndarray as Image in Jupyter/IPython notebook
# if input image is in range 0..1, please first multiply img by 255
# assume image is ndarray of shape [height, width, channels] where channels can be 1, 3 or 4
def imshow(img):
import cv2
import IPython
_,ret = cv2.imencode('.jpg', img)
i = IPython.display.Image(data=ret)
IPython.display.display(i)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from ipython_display import imshow\n",
"\n",
"src = np.zeros((128, 128, 3))\n",
"src+=0.2\n",
"src[40:60, 60:100] += 0.3\n",
"src[50:90, 20:70] += 0.2\n",
"\n",
"imshow(src*255)"
]
}
],
"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
}
@whyboris
Copy link

whyboris commented Aug 4, 2018

Thank you! Image shows directly in Jupyter Lab ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment