python整数因子_Python:通过非整数因子下采样2D numpy数组

我最后写了一个小函数,使用scipy.ndimage.zoom升级图像,但是为了缩小它,它首先将它升级为原始形状的倍数,然后通过块平均缩小.它接受scipy.zoom的任何其他关键字参数(order和prefilter)

我仍在寻找使用可用软件包的更清洁的解决方案.

def zoomArray(inArray, finalShape, sameSum=False, **zoomKwargs):

inArray = np.asarray(inArray, dtype = np.double)

inShape = inArray.shape

assert len(inShape) == len(finalShape)

mults = []

for i in range(len(inShape)):

if finalShape[i] < inShape[i]:

mults.append(int(np.ceil(inShape[i]/finalShape[i])))

else:

mults.append(1)

tempShape = tuple([i * j for i,j in zip(finalShape, mults)])

zoomMultipliers = np.array(tempShape) / np.array(inShape) + 0.0000001

rescaled = zoom(inArray, zoomMultipliers, **zoomKwargs)

for ind, mult in enumerate(mults):

if mult != 1:

sh = list(rescaled.shape)

assert sh[ind] % mult == 0

newshape = sh[:ind] + [sh[ind] / mult, mult] + sh[ind+1:]

rescaled.shape = newshape

rescaled = np.mean(rescaled, axis = ind+1)

assert rescaled.shape == finalShape

if sameSum:

extraSize = np.prod(finalShape) / np.prod(inShape)

rescaled /= extraSize

return rescaled

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409445.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 当html中使用map标签时,area中coords值如何精确定位呢?

[html] 当html中使用map标签时,area中coords值如何精确定位呢&#xff1f; 在 area 标签上支持的属性有 shape、coords、href、alt、target、type、download、hreflang、media、rel&#xff1b; coords 值如何精确定位圆形&#xff0c;在绘制一个圆形时&#xff0c;其 shapeci…

[html] 当img标签中的src图片加载失败时,怎么让它变得更美观呢?

[html] 当img标签中的src图片加载失败时&#xff0c;怎么让它变得更美观呢&#xff1f; 当默认图也失效&#xff0c;就会陷入死循环&#xff0c;需加变量计数&#xff0c;如果是 vue 的话用 error.once 更妙。在 onerror 给元素加个类名也阔以&#xff0c;这个就挺 nice 的。使…

python输入n×n的矩阵0和1_关于Python数组和矩阵的用法X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]...

1、关于数组、矩阵的说明。X[:,0] 取二维数组中第一维的所有数据。X[:,1] 取二维数组中第二维的所有数据。X[:,m:n] 取二维数组中第m维到第n-1维的所有数据。X[:,:,0] 取三维矩阵中第一维的所有数据。X[:,:,1] 取三维矩阵中第二维的所有数据。X[:,:,m:n] 取三维矩阵中第m维到第…

将时间格式的字符串转换成日期类型浏览器兼容解决方案

var currentTime "20120612"; var y currentTime.substring(0, 4); var m currentTime.substring(4, 6); var d currentTime.substring(6, 8); currentTime y "-" m "-" d;//此种写法在火狐跟谷歌下都可以currentTimey"/"m&qu…

对比linux终端模式和图形模式,Linux知识-2. Linux初学(CnetOS Linux7)之切换命令模式和图形模式...

2. Linux初学(CnetOS Linux7)之切换命令模式和图形模式通常我们也称命令模式为终端机接口,terminal 或console 。Linux 预设的情况下会提供六个Terminal 来让使用者登入&#xff0c;切换的方式为使用&#xff1a;[Ctrl] [Alt] [F1]~[F6]的组合按钮。那这六个终端接口如何命名…

[html] 你有用过图片热区吗?它有什么运用场景?

[html] 你有用过图片热区吗&#xff1f;它有什么运用场景&#xff1f; 点击logo回到主页点击地图区块跳到具体的地方网站个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面…

mysql 写入慢_MySQL主从,你遇到过哪些问题?

上篇文章介绍了单机环境下的MySQL主从异步复制和主从半同步复制的搭建过程。搭建过程很简单&#xff0c;但是在实际使用过程中&#xff0c;更多的是解决问题&#xff0c;本篇文章将介绍一下MySQL主从复制中常见的问题以及如何定位问题和如何解决问题。1、可能的原因如下(1)主从…

Girl Love Value

【原题链接】 【题意说明】 有一组共有N个正整数&#xff0c;每次只能取其中的一个数&#xff0c;每次没有被取到的数会减少相应的值&#xff0c;把每次取到数的值累加&#xff0c;问共要取K个数&#xff0c;在所有取法中&#xff0c;和最大是多少&#xff1f; 【问题分析】 快…

linux查找时间文件,Linux基础教程 linux下使用find命令根据系统时间查找文件用法(示例代码)...

LinuxFind兄弟连Linux培训总结这些时间戳包括复制代码代码如下:mtime 文件内容上次修改时间atime 文件被读取或访问的时间ctime 文件状态变化时间mtime 和 atime 的含义都是很容易理解的&#xff0c;而 ctime 则需要更多的解释。由于 inode 维护着每个文件上的元数据&#xff0…

如何清理 Weblogic Server 缓存

Weblogic中的项目重新编译、部署之后并不起作用&#xff0c;仍然运行原来的程序。这可能是 Weblogic缓存在作怪&#xff0c;需要手动删除。 Weblogic 8 SP6 的缓存位置&#xff1a; %BEA HOME%\user_projects\domains\<Your Domain>\<Your Server>\.wlnotdelete\ex…

python安装django模块_python中安装django模块的方法

网上搜一下对应的版本号&#xff0c;版本号相对应。安装django有两种方式&#xff1a;1.pip安装pip install django这个方法我用的时候已经报错。貌似访问被阻挡。我一般都用第二种2.下载压缩包手动安装在django官网下载tar.gz包&#xff0c;放在python对应目录中解压缩命令窗口…

linux对目录进行操作,Linux 基础:对文件和目录进行操作的 Linux 和 Unix 命令 笔记...

参考文章《Linux Basic – Linux and Unix Commands for File and Directory Manipulation》https://www.jianshu.com/writer#/notebooks/37377394/notes/66158656/preview◈ ls 列出目录的内容◈ cp 将文件和目录从一个位置复制到另一位置。◈ mv 将文件和目录从一个位置移动到…

[html] 举例说明当我们在写布局时,都有哪些边界的情况需要关注的?

[html] 举例说明当我们在写布局时&#xff0c;都有哪些边界的情况需要关注的&#xff1f; margin 重叠在竖直方向&#xff0c;当两个元素的外边距连在一块时&#xff0c;两者的距离并不是两者的 margin 之和&#xff0c;而是取最大的 margin 值。个人简介 我是歌谣&#xff0…

(转)GDB 使用方法

感谢原创作者的辛勤劳动&#xff1b; 简述 一 列文件清单 二&#xff1a;执行程序 三&#xff1a;显示数据 四&#xff1a;断点(breakpoint) 五&#xff0e;断点的管理 六&#xff0e;变量的检查和赋值 七. 单步执行 八&#xff0e;函数的调用 九&#xff0e;机器语言工具 十&a…

[html] 如何去除标签<i>默认斜体?

[html] 如何去除标签默认斜体&#xff1f; font-style: normal;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

vue根据不同权限显示图片_vue多级权限组件的实现

首先实现递归checkbox的组件假定&#xff0c;我们要实现的权限组件效果是这样的&#xff1a;要实现点击系统&#xff0c;下面的都全选&#xff0c;点击基础功能&#xff0c;用户管理半选&#xff0c;系统半选。点击新增组织&#xff0c;如果基础功能没有选中&#xff0c;则基础…

linux自带磁盘加密工具下载,TrueCrypt(磁盘加密工具)

TrueCrypt是一款功能强大的虚拟磁盘加密工具&#xff0c;它能够在硬盘上创建一个或多个虚拟磁盘&#xff0c;并且自动加密磁盘文件&#xff0c;提供AES-256、Blowfish、Serpent等多种加密算法&#xff0c;用户可以同时采取两个或多个来提高加密效果&#xff0c;软件体积小巧&am…

JS如何控制checkbox的全选反选

JS代码&#xff1a; 1 <script language"javascript" type"text/javascript">2 3 //转载请保留出处 http://www.dwww.cn 4 function unselectall() {5 if (document.getElementById("chkAll").checked) {6 …

[交互]交互的实战问题2

[交互]交互的实战问题2 axios升级导致的问题axios 设置请求 header 方式 多页签时&#xff0c;切换页签是否应该取消交互请求 axios升级导致的问题 axios 设置请求 header 方式 axios 早期设置请求 header 方式 config.headers.common.set(Pragma, no-cache)有一天发现该方式…