python 三维图片 任意切片_matplotlib三维二维切片
体积切片操作通常依赖于插值的概念,最典型的是:Nearest neighbor,Linear,和{a3}。请注意,这些方法适用于更多的维度(例如请参见Bilinear或Trilinear插值)。在
在本例中,您是说您有一个卷,可以从中检索X、Y、Z(或一个混合体,但不考虑这种情况,因为这是一个新的整体问题,只会带来混乱)。在
以切片X=5和X=6为例,你想知道如何得到X=5.5。看看这个例子:def linear_interpolation(p1, p2, x0):
"""
Function that receives as arguments the coordinates of two points (x,y)
and returns the linear interpolation of a y0 in a given x0 position. This is the
equivalent to obtaining y0 = y1 + (y2 - y1)*((x0-x1)/(x2-x1)).
Look into https://en.wikipedia.org/wiki/Linear_interpolation for more
information.
Parameters
p1 : tuple (floats)
Tuple (x,y) of a first point in a line.
p2 : tuple (floats)
Tuple (x,y) of a second point in a line.
x0 : float
X coordinate on which you want to interpolate a y0.
Return float (interpolated y0 value)
"""
return p1[1] + (p2[1] - p1[1]) * ((x0 - p1[0]) / (p2[0] - p1[0]))
X, Y, Z = np.meshgrid(range(10), range(10), range(10))
vol = np.sqrt((X-5)**2 + (Y-5)**2 + (Z-5)**2)
Slice5dot5 = linear_interpolation((Y[5, :, :], vol[5, :, :]), (Y[6, :, :], vol[6, :, :]), 5.5)
f, (ax1, ax2, ax3) = plt.subplots(1, 3, sharey=True)
ax1.imshow(vol[5, :, :], interpolation='nearest', origin='lower', vmin=vol.min(), vmax=vol.max())
ax1.set_title("vol[5, :, :]")
ax2.imshow(Slice5dot5, interpolation='nearest', origin='lower', vmin=vol.min(), vmax=vol.max())
ax2.set_title("vol[5.5, :, :]")
ax3.imshow(vol[6, :, :], interpolation='nearest', origin='lower', vmin=vol.min(), vmax=vol.max())
ax3.set_title("vol[6, :, :]")
plt.show()
这个函数看起来是有文档记录的(我做过的一个老项目的一部分),但是它可以和numpy2d切片一样工作(而且它比循环所有这些单元格要快得多)。在
结果是:
你会注意到颜色从左到右越来越淡。中间的切片是完全插值的,以前不存在。在
python 三维图片 任意切片_matplotlib三维二维切片相关推荐
- 基于二维切片图序列的三维立体建模MATLAB仿真
目录 1.算法概述 2.仿真效果预览 3.核心MATLAB程序 4.完整MATLAB程序 1.算法概述 isosurface 等值面函数 调用格式: fv = isosurface(X,Y,Z,V,i ...
- unity三维地图的经纬度如何在二维地图上表示_安全数据分析:数据点—地图—线性回归...
一次性进群,长期免费索取教程,没有付费教程. 教程列表见微信公众号底部菜单 进微信群回复公众号:微信群:QQ群:460500587 微信公众号:计算机与网络安全 ID:Computer-network ...
- 在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录
简介 二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明.现随着智能手机的普及,已广 ...
- Python模块之MyQR——制作个性化动态二维码(超详细)
一.首先安装MyQR 第一种方式:cmd 命令行输入 pip install MyQR 第二种方式:pyCharm中手动选择进行安装 二. myqr.run() 函数里面的参数 三.编写代码 # en ...
- python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性)
python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性) 昨日内容回顾 1.app播放音乐plus.audio.createPlayer(文件路径/URL)player.play( ...
- Golang二维切片初始化
本文主要介绍Golang二维切片初始化的实现 引言 之前,刷Leetcode的时候,有些题需要初始化二维数组,而一维数组的初始化,比如: var a = [5]int{1, 2, 3, 4, 5} / ...
- golang中的二维数组和二维切片
golang中数组和切片用的比较多,下面给个demo看看二维的数组和二维切片. package mainimport ("fmt" )func printarray(a [2][2 ...
- golang 二维切片
初始化: res := make([][length]int, length), 例如: res := make([][2]int, 10) fmt.Println(res) 输出: [[0 0] [ ...
- Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例之详细攻略
Python语言学习之pandas:DataFrame二维表的简介.常用函数.常用案例之详细攻略 目录 DataFrame的简介 DataFrame的常用案例 1.写入和读取excel表格文件
- Zxing图片识别 从相册选二维码图片解析总结
Zxing图片识别 从相册选取二维码图片进行解析总结 在Zxing扫描识别和图片识别的解析对象是相同的 本文分三个步骤: 1 获取相册的照片 2 解析二维码图片 3 返回结果 1) 获取相册照片 go ...
最新文章
- KNN算法(K最近邻算法)详解
- 某全球零售客户:上马容器云 驾驭线上业务
- OpenCL异构并行计算编程笔记(1):平台、设备与上下文
- StaticQueue
- 转-eclipse管理多个workspace
- 查询删除的外向交货单
- keil单片机C语言输入函数,keil编写C程序是不是不能在函数内定义变量啊,求大神...
- Android studio编译出现Failed to finalize session : INSTALL_FAILED_INVALID_APK
- Spring开启注解AOP的支持放置的位置
- Java编程思想学习(一) 一切都是对象
- 用计算机视频,如何用计算机做视频
- fiddler 针对单个接口打断点
- 团体程序设计天梯赛-练习集L1-002. 打印沙漏
- C++11::遍历tuple中的元素
- html5中box-shadow,CSS阴影效果(Box-shadow)用法趣味讲解
- 【边喝caffee边Caffe 】(三) Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type
- NXP恩智浦单片机Keil5环境下编程
- android 自定义吐司,[Android开发]Android 自定义Toast
- 台湾省应广科技PMS150C纯IO PWM单片机MCU
- java的concurrenthashmap和hashtab