o3d.visualization.draw_geometries()
is work fine outside Jupyter. \n",
"But, it does not work inside Jupyter and Goolge Colab."
]
},
{
"cell_type": "code",
"metadata": {
"id": "Xp2S0Ec6FSE7",
"outputId": "def3fe4c-1542-4bf7-e375-6cabb60b9bc3",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"#o3d.visualization.draw_geometries([cloud])"
],
"execution_count": 6,
"outputs": [
{
"output_type": "stream",
"text": [
"\u001b[1;33m[Open3D WARNING] GLFW Error: X11: The DISPLAY environment variable is missing\u001b[0;m\n",
"\u001b[1;33m[Open3D WARNING] Failed to initialize GLFW\u001b[0;m\n",
"\u001b[1;33m[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.\u001b[0;m\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lQ84t6x2A0un"
},
"source": [
"## Visualize using o3d.visualization.Visualizer()\n",
"o3d.visualization.Visualizer()
is work fine outside Jupyter. \n",
"But, it does not work inside Jupyter and Goolge Colab."
]
},
{
"cell_type": "code",
"metadata": {
"id": "k-9aM5Rs_P5N"
},
"source": [
"#visualizer = o3d.visualization.Visualizer()\n",
"#visualizer.create_window(window_name=\"point cloud\", width=1280, height=720, visible=False)\n",
"#visualizer.add_geometry(cloud)\n",
"#visualizer.run()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "Fw-WPw2ODHuH"
},
"source": [
"## Visualize using JVisualizer()\n",
"Opne3D added experimental support for Jupyter visualization with WebGL. JVisualizer()
is work fine inside Jupyter at local. \n",
"It is required with Open3D with feature enabled. It does not work in Goolge Colab.\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Q9WF23-_F_R-"
},
"source": [
"# from open3d import JVisualizer\n",
"\n",
"#visualizer = JVisualizer()\n",
"#visualizer.add_geometry(cloud)\n",
"#visualizer.show()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "uRViSa_lBCJU"
},
"source": [
"## Visualize using o3d.visualization.Visualizer() with IPython.display\n",
"o3d.visualization.Visualizer()
with IPython.display
is work fine inside Jupyter. It displays image that captured viewer launched outside. \n",
"But, it does not work in Goolge Colab."
]
},
{
"cell_type": "code",
"metadata": {
"id": "zatHvhdQccAl"
},
"source": [
"#import PIL.Image\n",
"#from IPython.display import display\n",
"\n",
"#visualizer = o3d.visualization.Visualizer()\n",
"#visualizer.create_window(window_name=\"point cloud\", width=1280, height=720, visible=False)\n",
"#visualizer.add_geometry(cloud)\n",
"#visualizer.update_geometry(cloud)\n",
"#visualizer.poll_events()\n",
"#image = visualizer.capture_screen_float_buffer()\n",
"#visualizer.destroy_window()\n",
"#image = (255.0 * np.asarray(image)).astype(np.uint8)\n",
"#display(PIL.Image.fromarray(image, \"RGB\"))"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "ha6Mm4lbDq6k"
},
"source": [
"## Visualize using Matplotlib\n",
"In this section, it will visualize point cloud as a scatter plot using matplotlib. \n",
"It works fine in inside Jupyter and Goolge Colab. But, it is image.\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "xkfNgGRN_fn3"
},
"source": [
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits import mplot3d"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "cydG8ceDOxzq"
},
"source": [
"points = np.asarray(cloud.points)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "K_IRumbxOTYs"
},
"source": [
"colors = None\n",
"if cloud.has_colors():\n",
" colors = np.asarray(cloud.colors)\n",
"elif cloud.has_normals():\n",
" colors = (0.5, 0.5, 0.5) + np.asarray(cloud.normals) * 0.5\n",
"else:\n",
" geometry.paint_uniform_color((1.0, 0.0, 0.0))\n",
" colors = np.asarray(geometry.colors)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 248
},
"id": "wok4OF12Iv6D",
"outputId": "364c58d1-65bf-444a-ccb8-2f398e24e5c7"
},
"source": [
"# Single View\n",
"ax = plt.axes(projection='3d')\n",
"ax.view_init(90, -90)\n",
"ax.axis(\"off\")\n",
"ax.scatter(points[:,0], points[:,1], points[:,2], s=1, c=colors)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"