Numpy在三维矩阵的max()、argmax()上的操作

2023-11-13

1. Numpy中对于3维数组的表达形式不同于RGB图片在通道上的堆叠形式

    0. 设一个矩阵尺寸为: h * w * c

    1. Numpy 会将该矩阵的后两维看成一个二维矩阵,h则代表w*c大小的矩阵的个数,整体矩阵是w*c矩阵在h维度上的堆叠

    2. 图像上会将该矩阵的前两个维度看成是图片的宽和高,而c代表通道数,即c代表h*w尺寸矩阵的个数,整体矩阵是h*w矩阵在c维度上的堆叠

2. Numpy和图像中对矩阵的看待方式不同也就造成了max、argmax当指定axis时比较的方式不同

    0. 这里的max、argmax是Numpy中的函数, 因此其看待矩阵的方式是按照Numpy的方式来看待的,下面以max函数为例,argmax和max寻找数的方式是一致的

    1. 当axis=0的时候,相当于在维度为0的上面找最大值,即在h的维度上找最大值,因为Numpy认为矩阵是w*c矩阵在h维度上的堆叠,因此其会将ans[i][j] = max(a[0][i][j], a[1][i][j], a[2][i][j], ... a[h - 1][i][j]),结果矩阵ans的大小为 w * c

    2. 当axis=1的时候,相当于在维度为1的上面找最大值,即在w的维度上找最大值,因为Numpy认为矩阵是w*c矩阵在h维度上的堆叠,因此其会将ans[i][j] = max(a[i][0][j], a[i][1][j], a[i][2][j], ... a[i][w - 1][j]),结果矩阵ans的大小为 h * c

    3. 当axis=2的时候,相当于在维度为2的上面找最大值,即在c的维度上找最大值,因为Numpy认为矩阵是w*c矩阵在h维度上的堆叠,因此其会将ans[i][j] = max(a[i][j][0], a[i][j][1], a[i][j][2], ... a[i][j][c - 1]),结果矩阵ans的大小为h * w

3. 其实只是看待矩阵的方式不同,导致了处理结果的显示方式不同,因此可以坐标系的转换更好的理解这两个函数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Numpy在三维矩阵的max()、argmax()上的操作 的相关文章

  • 无法在 Jupyter Notebook 中安装 arcpy

    我安装了 ArcGIS Pro 其中包括已安装的 Python 包 我正在尝试学习 Python 并且想使用 ArcPy 函数 我以前从未使用过 Jupyter Notebook 但为了开始使用 我创建了一个新的 Python 3 文件 我
  • Firefox 中的文件下载对话框

    我正在使用firefox进行selenium python编程 自动开始下载并保存文件 我已经完成了所有操作 但无法下载csv文件 我的python版本是2 6 6 我的selenium版本是最新版本 我也尝试使用以下链接 即 fp web
  • Python:如果满足条件,则循环遍历一个字典并在新字典中创建键/值对

    我想将一个字典的值与第二个字典的值进行比较 如果值满足特定条件 我想创建第三个字典 其中的键和值对将根据匹配情况而变化 这是一个显示我的问题的人为示例 编辑 对所有返回感到抱歉 但堆栈溢出无法识别单个返回 并且在一行上运行 3 4 行 使代
  • 使用 Python 将列名称与 CSV 文件中的数据对齐

    这是我用来将数据写入 csv 文件的代码 with open temp csv a as fp a csv writer fp delimiter t data faceXpos faceYpos faceHeight faceWidth
  • 为什么 pandas.DataFrame.update 会更改更新后的数据帧的数据类型?

    出于显而易见的原因 我想在更新后将列的数据类型保留为 int 有什么想法为什么这不能按预期工作吗 import pandas as pd df1 pd DataFrame a 1 b 2 c foo a 3 b 4 c baz df2 pd
  • 如何使用格式保存 Tkinter 文本小部件的内容

    我在 python 中使用 Tkinter 在文本窗口中显示输出 我发现使用 get 功能我可以从此窗口检索文本内容 但我有用不同背景颜色标记的文本部分 是否可以将内容与这些颜色一起复制到文件 例如 html 或 doc 中 没有对你想要的
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • 如何使用Peewee查询多个相似的数据库?

    我遇到了使用 Peewee 查询多个数据库的问题 我有 2 个现有的 mysql 数据库 让我们将它们命名为 A 和 B 结构相似 因为它是两个 Bugzilla 数据库 我使用 Pwiz 生成模型 modelsA py 和 modelsB
  • pandas groupby 并转换为 json 列表

    我有一个如下所示的 pandas 数据框 idx f1 f2 f3 1 a a b 2 b a c 3 a b c 87 e e e 我需要将其他列转换为基于索引列的字典列表 所以 最终结果应该是 idx features 1 f1 a f
  • 如何检查discord.py中的所有者

    我试图让这个命令只有所有者才能运行它 是否有办法检查服务器的最高角色或创建者 我尝试了 commands is owner 但这仅检查某人是否是机器人的所有者 Guild owner https discordpy readthedocs
  • 如何在 FastAPI Swagger API 中按方法类型对方法进行排序?

    如何在 FastAPI Swagger 自动文档中设置 API 方法的排序顺序 我希望所有方法按类型分组 GET POST PUT DELETE 这个答案 https stackoverflow com questions 24951268
  • Python:两个列表之间的成对比较:列表 a >= 列表 b?

    如果我想检查列表中的所有元素 a 1 2 3 6 大于或等于另一个列表中对应的元素 b 0 2 3 5 如果 a i gt b i 对于所有i的 则返回 true 否则返回 false 这有逻辑功能吗 比如a gt b 谢谢 你可以这样做
  • 在python中检测按下了哪些键

    我需要知道现在按下的是哪个键 我不想捕获一些特定的按键来触发事件或类似的事情 我想知道现在按下了哪些键并显示它们的列表 我还需要捕获特殊键 如 F1 F12 shift alt home windows 等 基本上是键盘上的所有键 我如何在
  • 在解析器/子解析器的开头使用 argparse.REMAINDER

    我想实现一个 arg 解析器 它允许我将单元测试作为子命令之一运行 盲目地将参数传递给 unittest main 例如 foo py unittest args to pass to unittest main 以及其他子命令 foo p
  • 如何在 Windows 7 中使用 Python 廉价地创建非常大的文件? [复制]

    这个问题在这里已经有答案了 可能的重复 在Windows系统上快速创建大文件 https stackoverflow com questions 982659 quickly create large file on a windows s
  • 使用 Python 获取 Youtube 数据

    我正在尝试学习如何分析网络上可用的社交媒体数据 我从 Youtube 开始 from apiclient errors import HttpError from outh2client tools import argparser fro
  • 如何动态选择要在flask中使用的模板目录?

    默认情况下 Flask 使用存储在 template 目录中的模板文件 flaskapp application py templates hello html 有没有办法根据登录的用户动态选择模板目录 这就是我想要的目录结构 flaska
  • 内置模块位于哪里?

    我尝试查找列出的所有目录sys path但我找不到任何builtins py文件 那么它在哪里呢 从字面上看 该模块内置于 python 解释器中 gt gt gt import builtins gt gt gt builtins
  • 重写 __cmp__ python 函数

    嗨 我是压倒一切的 cmp 如果传递的第二个对象是None 或者如果它不是一个实例someClass 然后返回 1 我不明白这里到底发生了什么 class someClass def cmp self obj if obj None ret
  • 收到 Python 错误“来自:无法读取 /var/mail/Bio”

    我正在运行一个 bio python 脚本 这会导致以下错误 from can t read var mail Bio 由于我的脚本与邮件没有任何关系 我不明白为什么我的脚本在 var mail 中查找 这里似乎有什么问题 我怀疑这会有帮助

随机推荐

  • WPA渗透-pyrit:GPU加速_Hash-table

    WPA渗透 pyrit GPU加速 Hash table 1 pyrit工具介绍 pyrit是一款开源且完全免费的软件 任何人都可以检查 复制或修改它 它在各种平台上编译和执行 包括FreeBSD MacOS X和Linux作为操作系统以及
  • 大学生数学竞赛习题精讲_陈兆斗

    大学生数学竞赛习题精讲 陈兆斗 链接 https pan baidu com s 1ctyZqmD 6VFgILBM0DiTcg 提取码 i76s 复制这段内容后打开百度网盘手机App 操作更方便哦
  • mysql用事务实现更新数据

    前言 在手动批量更新正式环境数据库时 建议使用事物进行更新 避免更错数据 造成不必要的麻烦 现表中有三条数据 使用事物批量将name字段为mgx phone字段为17837107346 所有数据中的address字段更新成河北唐山 开始事物
  • moco接口框架介绍

    moco接口框架介绍 Moco 是一个搭建模拟服务器的工具 其支持 API 和独立运行两种方式 前者通常是在 junit testng等测试框架中使用 后者则是通过运行一个 jar 包开启服务 在maven中央仓库中 moco有三个版本 分
  • <Linux开发>系统移植 -之- linux内核移植过程详细记录(第二部分完结)

    Linux开发 系统移植 之 linux内核移植过程详细记录 第二部分完结 前面 第一部分讲解了 NXP官方原厂的Linux直接编译下载到开发板的操作过程 及测试效果 以及过程中设计使用的一些辅助工具 从第一部分 可以熟悉整个Linux编译
  • JSON 语法规则详解

    JSON 的语法规则十分简单 无论用何种方法总结都只有数条而已 它参考了 C 语言家族的一些习惯 学习起来并不会感到陌生 回顾JSON 的五点语法 1 数组 Array 用方括号 表示 2 对象 Object 用大括号 表示 3 名称 值对
  • 抽象方法与抽象类

    没有方法体的方法就是抽象方法 如果一个类中有抽象方法则这个类就是抽象类 public abstract class Abs public abstract void shoot 抽象方法 public abstract void eat p
  • Scrapy 爬虫笔记

    目录 概述 开始 启动项目 爬虫初始化 处理响应 回调函数的参数 图片下载 未完待续 相关资源 概述 本文记录了个人使用 Scrapy 爬取某网站产品信息 包含图片下载 的整个过程 也可以作为一篇 Scrapy 实战教学博客 首先从 All
  • 网络安全-自学笔记

    目录 相关网站推荐 WEB 应用 安全 学习路线 推荐 书籍 网站 在线靶场 基础 XSS攻击 CSRF漏洞 劫持攻击 点击劫持 SSRF漏洞 文件包含漏洞 文件上传漏洞 XXE漏洞 WebShell 解析安全 RCE漏洞 SQL注入漏洞
  • 网络爬虫是什么?

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 互联网诞生之初 是为了让人们更容易的分享数据 交流通讯 互联网是桥梁 连接了世界各地的人们 网站的点击 浏览都是人为的 与你聊天的也是活生生的人 然而 随着技术的发展 人们
  • Java 实现区块链

    Java 是一种流行的面向对象的编程语言 它可以用来实现区块链 在实现区块链时 通常需要考虑以下几个方面 区块的数据结构 区块通常包含一些数据 如交易信息 以及一些元数据 如区块的哈希值和时间戳 你可以使用 Java 中的数据结构 如类 对
  • 【C++】STL —— list的基本使用

    目录 一 list容器的简介 二 list容器常用的接口 1 list初始化操作 1 构造函数 编辑 2 析构函数 3 赋值重载函数 2 list容量相关的函数 3 list的迭代器 4 list的增删查改 一 list容器的简介 1 li
  • 使用STM32CubeMX和STM32CubeIDE的常见问题和注意事项

    STM32CubeMX和STM32CubeIDE是ST公司的STM32Cube生态系统中最重要和最常用的2个软件 使用这2个免费软件可以高效地进行STM32系统的开发 CubeMX用于对一个STM32器件进行可视化的配置 然后生成CubeI
  • git 解决冲突之 theirs & ours

    git merge 从feature分支合并到master分支 git checkout master git merge feature Auto merging Document CONFLICT content Merge confl
  • echarts--3D效果柱状图

    echarts二维柱状图做3D效果 先看下效果 废话不多说 直接上代码 div class box echart div initBarEchart 柱状图 let option bar this setOption let array n
  • 【sqli-labs】 less37 POST- Bypass MYSQL_real_escape_string (POST型绕过MYSQL_real_escape_string的注入)...

    POST版本的less36 uname 1 passwd 1 df or 1 转载于 https www cnblogs com omnis p 8384536 html
  • Qt

    Qt QListView QListWidget QTableView QTableWidget的使用示例及区别 目录 Qt QListView QListWidget QTableView QTableWidget的使用示例及区别 1 简
  • 想入门网络安全?先来看看网络安全行业人才需求!

    如果你是一个想要入门网络安全行业的小白 如果你是网络安全专业在读的大学生 如果你是正在找工作的新手 那么这篇文章你一定要仔细看 毕竟知己知彼百战百胜 知道行业的人才需求才能更好得发挥自己的优势 当你打开BOSS直聘 拉钩等招聘网站 在首页的
  • 快手分享链接,实战解析无水印视频源码

    这个是我发现的源码解析 快手 package blog rs1314 cn test import java io IOException import java io InputStream import java net URLDeco
  • Numpy在三维矩阵的max()、argmax()上的操作

    1 Numpy中对于3维数组的表达形式不同于RGB图片在通道上的堆叠形式 0 设一个矩阵尺寸为 h w c 1 Numpy 会将该矩阵的后两维看成一个二维矩阵 h则代表w c大小的矩阵的个数 整体矩阵是w c矩阵在h维度上的堆叠 2 图像上