matlab griddata插值太慢,非常慢的插值使用`scipy.interpolate.griddata`
在长期忍受scipy.interpolate.griddata极其缓慢的性能之后,我决定放弃{
所以对于上面的例子,上面问题中的那个,你可以得到输入文件here,这是一段需要1.1ms的代码,而在上面的例子中,692ms需要重新划分。在import cv2
new_data = data.T[::-1]
# calculate the pixel coordinates of the
# computational domain corners in the data array
w,e,s,n = map_extent
dx = float(e-w)/new_data.shape[1]
dy = float(n-s)/new_data.shape[0]
x = (lon.ravel()-w)/dx
y = (n-lat.ravel())/dy
computational_domain_corners = np.float32(zip(x,y))
data_array_corners = np.float32([[0,new_data.shape[0]],
[0,0],
[new_data.shape[1],new_data.shape[0]],
[new_data.shape[1],0]])
# Compute the transformation matrix which places
# the corners of the data array at the corners of
# the computational domain in data array pixel coordinates
tranformation_matrix = cv2.getPerspectiveTransform(data_array_corners,
computational_domain_corners)
# Make the transformation making the final array the same shape
# as the data array, cubic interpolate the data placing NaN's
# outside the new array geometry
mapped_data = cv2.warpPerspective(new_data,tranformation_matrix,
(new_data.shape[1],new_data.shape[0]),
flags=2,
borderMode=0,
borderValue=np.nan)
我看到这个解决方案的唯一缺点是在数据中有一点偏移,如所附图像中不重叠的轮廓所示。重新划分的数据轮廓(可能更精确)为黑色,翘曲透视数据轮廓为“jet”色阶。在
目前,我很好地接受了性能优势的差异,我希望这个解决方案也能帮助其他人。在
应该有人(而不是我……)来改进griddata的性能:)
享受吧!在
matlab griddata插值太慢,非常慢的插值使用`scipy.interpolate.griddata`相关推荐
- python插值(scipy.interpolate模块的griddata和Rbf)
1.插值scipy.interpolate SciPy的interpolate模块提供了许多对数据进行插值运算的函数,范围涵盖简单的一维插值到复杂多维插值求解. 一维插值:当样本数据变化归因于一个独立 ...
- 数学建模 | MATLAB学习 | 插值 一维插值函数、三次样条插值
1.一维插值函数 Matlab中有现成的一维插值函数interp1,语法为 y=interp1(x0,y0,x,'method') x0,y0是已知的数据向量,其中x应以升序或者降序排列(所有的插值 ...
- MATLAB学习之多项式拟合和多项式插值(附源代码)
文章目录 前言 一.多项式的拟合 二.多项式的插值 1.一维插值 2.二维插值 三.问题探究 1.船在该海域会搁浅吗? 2.薄膜渗透率的测定 四.源代码下载 前言 公司最近在做单颗粒质谱的设备,在数据 ...
- 数学建模十大算法02—插值与拟合(拉格朗日插值、三次样条插值、线性最小二乘法……)
文章目录 引入 一.插值 1.1 分段线性插值 1.2 牛顿插值法 1.3 拉格朗日插值多项式 1.4 样条插值 1.4.1 三次样条插值 1.5 二维插值 1.5.1 插值节点为网格节点 1.5.2 ...
- 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值
from:http://blog.csdn.net/housisong/article/details/1452249 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值 ...
- scipy.interpolate插值
python SciPy库依赖于NumPy,提供了便捷且快速的N维数组操作. 可以实现插值,积分,优化,图像处理,特殊函数等等操作. 参考官方文档: Interpolation (scipy.int ...
- scipy.interpolate: 插值和平滑处理
scipy有很多插值函数(方法),按维度可分为一维.二维和多维的插值方法,按方法包括拉格朗日和泰勒插值方法等,具体插值函数可参阅如下介绍: https://docs.scipy.org/doc/sci ...
- python给出数据点进行插值_Python对数据进行插值和下采样的方法
使用Python进行插值非常方便,可以直接使用scipy中的interpolate import numpy as np x1 = np.linspace(1, 4096, 1024) x_new = ...
- c语言比matlab慢很多,为什么我的Python脚本与Matlab相比速度太慢?
我在考虑从Matlab切换到Python(NumPy).所以,作为一个学习任务,我试图在Python上重写一个简单的随机模型. python脚本返回正确的答案,但工作太慢! Python需要3分钟,而 ...
最新文章
- Cpp 对象模型探索 / 静态联编和动态联编
- 异形3×3魔方还原教程_【理论篇】三阶魔方4.33千亿亿种变化是怎么计算出来的?...
- cba篮球暂停次数和时间_CBA一场比赛每支球队可以叫多少次暂停
- Java中的Bean是什么?
- 管理感悟:开会为什么坐到后面
- Fortran77基础
- Latex 带圈数字
- Java面向对象编程,绘制思维导图(全面详细整理)
- FileChannel阅读笔记
- java 开发脚本视频_你写脚本,AI自动剪视频:13分钟完成剪辑师7小时创作
- 人脸识别概述及基于多显卡服务器实现百万底库人脸比对的简单实现方案
- java陆小凤的游戏_陆小凤之金鹏王朝游戏
- 男人心中理想女友的职业排行榜
- 自用大智慧策略l2支持行情
- 《Cocos Creator游戏实战》滚动数字
- pxe装linux系统出现dracut,关于PXE网络安装linux系统中碰到的个别问题
- tf.contrib.slim常用方法
- 最常考的Java后台面试题(一)Java基础
- AVL树的操作及调整成AVL树
- Python中pass的作用