可以像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. 微软官方pe工具_小白用户如何制作系统启动版,微软出官方工具啦,简单一键制作...
  2. ansible 安装和使用
  3. Oracle 双机热备 镜像 纯软 实战 配置教程 配置手册
  4. oracle别名作用范围,在Oracle的Where子句子查询中使用别名或表名,
  5. java 连接池技术_java数据库连接池技术原理(浅析)
  6. 高效的企业测试–测试框架(5/6)
  7. java四类八种基本数据类型
  8. Bailian2700 字符替换【字符串】
  9. GeoServer发布矢量地图服务
  10. 【C++】教大家在七夕new一个对象
  11. axure 折线图部件_在Axure中怎么做柱状图、折线图啊?
  12. 【半年总结】蓦然回首
  13. 手机上能不跳转就不跳转
  14. cf计算机丢失msvcp100,Win7丢失MSVCP100.dll导致程序无法启动怎们办
  15. Java云同桌学习系列(二十二)——mongoDB数据库
  16. WPF自定义控件与样式(13)-自定义窗体Window 自适应内容大小消息框MessageBox
  17. Linux上安装dos2unix
  18. 诛仙手游服务器购买无限制,诛仙手游全新福利提升 摆摊及购买增加次数限制...
  19. 这6个超好用的免费图片素材网站,赶紧收藏~
  20. 基于jsoup的Element实现将树形结构转换成XML格式

热门文章

  1. java文本框获得输入焦点_文本框获得焦点和失去焦点的判断代码
  2. dir命令(dir命令的功能是什么)
  3. UI/UE设计师全链路学习路线图,适合小白找工作学习【云图智联】
  4. 牛客网-剑指offer-树-第二部分
  5. jQuery调取swapper接口地址的一个小案例
  6. 完美解决-关于ubuntu下dia绘图工具中文输入问题
  7. 论文中数学公式说明合集
  8. 速锐得解码理想汽车L8方向盘转向角度应用随动大灯照明升级
  9. 晋升职称服务器协议,职称晋升服务期协议-常州大学.DOC
  10. Linux入门:tar、gzip、bzip2以及zip的区别