可以像matlab一样展示图像数据维度,

为了用于在深度学习调试图片前处理时进行可视化,

并且解决了用plt.imshow图像不显示的问题(有人能告知一下到底怎么解决嘛,令人头秃)

可以展示全部,也可以只展示一部分(前200wh)

可以从路径展示图片,也可以从数据data展示图片

大于1200*1200+16bit图像的话,请谨慎使用展示全部

会非常慢

import tifffile
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
import os
import pylabdef visualize(image):# Divide all values by 65535 so we can display the image using matplotlibimage = image / 65535 *255plt.figure(figsize=(10, 10))plt.axis('off')plt.imshow(image)pylab.show()def visual_img_from_path(path,id=False):if id:image_ori=tifffile.imread(os.path.join(path,  id + '.tif'))else:image_ori = tifffile.imread(path)shape=image_ori.shapeprint(shape)#plt.imshow(image_ori)#x = np.arange(0, shape[0], 1)y = np.arange(0, shape[1], 1)X, Y = np.meshgrid(x, y)Z=image_ori[X,Y]fig = plt.figure()ax1 = Axes3D(fig)# ax2.set_aspect("auto")ax1.plot_surface(X,Y,Z, rstride=20, cstride=20,alpha=0.3, cmap=plt.get_cmap('winter'))# 设置图像z轴的显示范围,x、y轴设置方式相同ax1.contour(X, Y, Z, zdir='z', cmap="rainbow")  # 生成z方向投影,投到x-y平面ax1.contour(X, Y, Z, zdir='x', cmap="rainbow")  # 生成x方向投影,投到y-z平面ax1.contour(X, Y, Z, zdir='y', cmap="rainbow")plt.show()def visual_img_from_data(data):shape=data.shapeprint(shape)#plt.imshow(image_ori)#x = np.arange(0, shape[0], 1)y = np.arange(0, shape[1], 1)X, Y = np.meshgrid(x, y)Z=data[X,Y]fig = plt.figure()ax2 = Axes3D(fig)# ax2.set_aspect("auto")ax2.plot_surface(X,Y,Z, rstride=20, cstride=20, alpha=0.3,cmap=plt.get_cmap('summer'))ax2.contour(X, Y, Z, zdir='z', cmap="rainbow")  # 生成z方向投影,投到x-y平面ax2.contour(X, Y, Z, zdir='x', cmap="rainbow")  # 生成x方向投影,投到y-z平面ax2.contour(X, Y, Z, zdir='y', cmap="rainbow")# 设置图像z轴的显示范围,x、y轴设置方式相同plt.show()def visual_img_part_from_data(data):shape=data.shapeprint(shape)#plt.imshow(image_ori)#x = np.arange(0, 200, 1)y = np.arange(0, 200, 1)X, Y = np.meshgrid(x, y)Z=data[X,Y]fig = plt.figure()ax2 = Axes3D(fig)# ax2.set_aspect("auto")ax2.plot_surface(X,Y,Z, rstride=5, cstride=5, alpha=0.3,cmap=plt.get_cmap('summer'))ax2.contour(X, Y, Z, zdir='z', cmap="rainbow")  # 生成z方向投影,投到x-y平面ax2.contour(X, Y, Z, zdir='x', cmap="rainbow")  # 生成x方向投影,投到y-z平面ax2.contour(X, Y, Z, zdir='y', cmap="rainbow")# 设置图像z轴的显示范围,x、y轴设置方式相同plt.show()def visual_img_part_from_path(path,id=False):if id:image_ori=tifffile.imread(os.path.join(path,  id + '.tif'))else:image_ori = tifffile.imread(path)shape=image_ori.shapeprint(shape)#plt.imshow(image_ori)#x = np.arange(0, 200, 1)y = np.arange(0, 200, 1)X, Y = np.meshgrid(x, y)Z=image_ori[X,Y]fig = plt.figure()ax1 = Axes3D(fig)# ax2.set_aspect("auto")ax1.plot_surface(X,Y,Z, rstride=20, cstride=20,alpha=0.3, cmap=plt.get_cmap('winter'))# 设置图像z轴的显示范围,x、y轴设置方式相同ax1.contour(X, Y, Z, zdir='z', cmap="rainbow")  # 生成z方向投影,投到x-y平面ax1.contour(X, Y, Z, zdir='x', cmap="rainbow")  # 生成x方向投影,投到y-z平面ax1.contour(X, Y, Z, zdir='y', cmap="rainbow")plt.show()

python中3D地形图展示16bit图像维度数据的工具包相关推荐

  1. python使用matplotlib可视化3D直方图(3D histogram、三维直方图、包含三个坐标轴x、y、z)、3D直方图可视化多个维度数据的区别和联系

    python使用matplotlib可视化3D直方图(3D histogram.三维直方图.包含三个坐标轴x.y.z).3D直方图可视化多个维度数据的区别和联系 目录

  2. pythonrequests发送数据_在python中使用requests 模拟浏览器发送请求数据的方法

    在python中使用requests 模拟浏览器发送请求数据的方法 如下所示: import requests url='http://####' proxy={'http':'http://#### ...

  3. python中画出距平垂线_3.机器学习—数据科学包3.3pandas操作

    pandas操作 一.pandas索引 1.Series索引index 2.DateFrame行索引index和列索引columns 3.pandas预置索引的类 4.重复索引 4.1重复索引定义 4 ...

  4. python中列表数据汇总和平均值_对数据进行分类,计算每个类别的平均值和标准差...

    我假设你的矩阵在一个列表列表中,并向你展示如何开始.(然而,正如我在一篇评论中提到的,如果你把矩阵放在一个numpy array或matrix中,它也会变得更加简单和快速.) 如果您只是将该值作为一个 ...

  5. python处理数据的包_在Python中利用Into包整洁地进行数据迁移的教程

    动机 我们花费大量的时间将数据从普通的交换格式(比如CSV),迁移到像数组.数据库或者二进制存储等高效的计算格式.更糟糕的是,许多人没有将数据迁移到高效的格式,因为他们不知道怎么(或者不能)为他们的工 ...

  6. python网站迁移_在Python中利用Into包整洁地进行数据迁移的教程

    动机 我们花费大量的时间将数据从普通的交换格式(比如CSV),迁移到像数组.数据库或者二进制存储等高效的计算格式.更糟糕的是,许多人没有将数据迁移到高效的格式,因为他们不知道怎么(或者不能)为他们的工 ...

  7. python中如何编写代码输入多个数据并把它们放在一个列表中去_10分钟学习函数式Python...

    在这篇10分钟的文章中,您将学习Python中的函数式范型.您还将学习列表推导式. 目录 函数式范式 Python的map函数是如何运行的 Python中的lambda表达式 Python中的redu ...

  8. Python中使用PhantomJS抓取Javascript网页数据

    有些网页不是静态加载的,而是通过javascirpt函数动态加载网页,比如下面这个网页,表格中的看涨合约和看跌合约的数据都是通过javascirpt函数从后台加载.仅仅使用beautifulsoup并 ...

  9. python中图形绘制技术的应用_python数据图形化—— matplotlib 基础应用

    matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...

最新文章

  1. abaqus二次开发python 建立集合,ABAQUS二次开发-Python脚本运行方式
  2. pytorch的nn.linear 转
  3. 你的网站添加X-UA-Compatible meta标签了吗?
  4. TCP首部报文段格式
  5. 【转】android makefile文件分析
  6. python unpack_ip地址处理每天10行python代码系列
  7. Linux 命令之 rsync -- 远程数据同步工具
  8. Web前端工程师应该掌握的内容有哪些
  9. 未能将“C:\Program Files (x86)\DevExpress 2009.2\Components\Sources\DevExpress.DLL\DevExpress.XtraGrid.v
  10. 40个笑到抽筋的神回复,哈哈哈哈哈...
  11. Blender图解教程:用权重传递(Transfer Weights)快速给动画角色穿衣服
  12. python matplotlib中误差棒图
  13. HyperLynx(二十九)高速串行总线仿真(一)
  14. alt+tab突然不能切换窗口(樱桃机械键盘)
  15. 织梦dedecms 幻灯片 自定义设置
  16. python npv 计算公式_Python numpy 中常用的数据运算
  17. Java接口(笔记本USB接口案例)
  18. C++编程积累——解决cinnum输入问题,cin无效,无法从屏幕输入(cin状态清除)
  19. C和C++的区别(2) 关键字
  20. 智能家居混战再起,华为、海尔和小米谁能率先破局?

热门文章

  1. IB纪录(十九):At the heard of the image
  2. 完美解决google关闭历史栏搜索的问题
  3. Vim 自带教程中文版 —— vimtutor
  4. Firebird数据库支持LADP吗
  5. 修改SSL默认端口号
  6. 智汇云舟总裁周舟受邀出席“2022数字生态大会” 分享视频孪生的应用与价值
  7. 针对ARM Linux内核swapper_pg_dir简单分析
  8. 膜拜大佬!干了5年Android开发还没掌握binder机制?终局之战
  9. c#网页自动化脚本语言,C# 模拟浏览器并自动操作的实例代码
  10. 利用Python做绝地科学家(外挂篇)