python for i in range 三维_python中的三维卷积
虽然循环可以工作,但跟踪嵌套循环也很困难。您可以考虑调用卷积定理来更容易地执行卷积。见here。在
使用numpy的fft模块,您可以计算原始图像堆栈的n维离散Fourier变换,并将其乘以大小相同的核的n维Fourier变换(文档可找到here)。因为你的2D内核是一个3x3数组,它是一个3x3xz正方形的“支柱”,你可以用0填充这个数组来相应地增加维数。在
试试这个:import numpy as np
import math
radius = 2
r2 = np.arange(-radius, radius+1)**2
sphere = r2[:, None, None] + r2[:, None] + r2
sphere -= np.max(sphere)
sphere = -sphere*2
array_len = 10*radius
array = np.zeros((array_len, array_len, array_len))
center = slice(array_len//2-radius,
array_len//2+radius+1), slice(array_len//2-radius,
array_len//2+radius+1),slice(array_len//2-radius,
array_len//2+radius+1)
array[center] = sphere
k_len = 3
kernel_2D = np.ones((k_len,k_len))
kernel = np.zeros_like(array)
center_k = slice(array_len//2-math.ceil(k_len/2),
array_len//2+k_len//2), slice(array_len//2-math.ceil(k_len/2),
array_len//2+k_len//2)
for i in range(kernel.shape[2]):
kernel[center_k+(i,)] = kernel_2D
def fft(array):
fft = np.fft.ifftshift(np.fft.fftn(np.fft.fftshift(array)))
return fft
def ifft(array):
ifft = np.fft.fftshift(np.fft.ifftn(np.fft.ifftshift(array)))
return ifft
def conv_3D(array, kernel):
conv = np.abs(ifft(fft(array)*fft(kernel)))
return conv
conv = conv_3D(array, kernel)
这将半径为2的球体与边长为3的支柱卷积在一起。在
python for i in range 三维_python中的三维卷积相关推荐
- Python基础_第3章_Python中的循环结构
Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...
- Python基础_第5章_Python中的数据序列
Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...
- python 获取用户的一个输入值_Python中,用于获取用户输入的命令为:
[多选题]以下关于机器学习说法正确的是? [判断题]Python内置函数sum____用来返回数值型序列中所有元素之和. [单选题]关于自定义函数的下列说法不正确的是: [判断题]Python内置函数 ...
- python round(1234.5678、-2)_Python中你不知道的特性
内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 本函数是实现对象以字符串表示的方式格式化输出到流文件对象fil ...
- python语句print(tuple(range(2)))_Python语句print(tuple(range(2)),list(range(2)))的运行结果是__________。...
[单选题]( )是通信网中最早出现的一种交换方式,也是应用最普遍的一种交换方式,主要应用于电话通信网中,完成电话交换. [填空题]离心泵的流量调节实际上是改变泵的____点. [单选题]关于 的导数, ...
- python选取元音开头的单词_Python中的Regex,用于查找遵循以下模式的单词:元音、辅音、元音、辅音...
如果将辅音有向图映射成单个辅音,则最长的单词是解剖病理学的10*VC字符串. 如果您正确映射y,那么您将得到完整的字符串,如乙酰丙酮作为8*VC,下胚轴作为8*CV. 如果不需要字符串是完整的,那么在 ...
- python for i in range(len())_Python for i in range ()用法详解
for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i r ...
- python中range 函数_Python中的range函数
本篇介绍range函数的特点及如何灵活运用. 工具/原料 Python3.7.5 Windows7环境 方法/步骤 1 查看range函数的帮助信息, range(stop) range(start, ...
- python not in range1002无标题_Python中偶尔遇到的细节疑问(一):去除列名特殊字符、标准差出现nan、切片索引可超出范围、range步长、众数...
1. Pandas读取csv或excel数据时,很可能遇到的columns中,列名会带有特殊字符,例如:空格. ..双空格.引号等等,如果不想手动修改的话,可以df.rename()来解决. df = ...
最新文章
- yii2 windows 安装
- CentOS 7 解决丢失 nginx.pid 1
- ESP32 + ESP-IDF |GPIO 01 - 驱动外部两个LED灯,以每300ms的时间间隔闪烁
- 复制书稿(信息学奥赛一本通-T1278)
- jquery:TypeError: $(...).on is not a function
- 华为云流媒体性能测试解决方案 轻松应对流量危机
- 解决npm npm does not support Node.js
- Git修改已提交的commit
- ansible之cron模块
- 谷歌最新模型pQRNN:效果接近BERT,参数量缩小300倍
- 算法设计与分析——概述
- 供应链金融业务基础模式、实施路径、服务对象深度解析
- python科技新闻爬取
- 爬虫小程序 - 单词量测试
- Error: ADB exited with exit code 1 Performing Streamed Install adb: failed to install D:\svn\app\sm
- Unity一个默认占用C盘空间的小坑
- LEX自动生成词法分析器
- 如何设置HttpClient请求的Content-Type标头?
- Unity 关于小地图的制作
- 套路(Jony J)
热门文章
- CSS3---6.文字阴影
- Linux 用户行为日志记录
- JMeter自学笔记3-创建自己的第一个测试用例
- Go 学习笔记(34)— Go 方法声明、方法调用、方法值、方法表达式、切片对象方法、指针对象方法
- [BZOJ1602] [Usaco2008 Oct] 牧场行走 (LCA)
- codeforces 165B(Burning Midnight Oil)
- 转 [JAVA] 使用 common-fileupload 实现文件上传
- ffmpeg解码视频存为BMP文件
- 深入.NET DataTable
- python xpath用法_Python--xpath的使用