numpy知识库:深入理解numpy的repeat函数和numpy数组的repeat方法

前言

numpy中的repeat函数顾名思义,可以将给定的数组沿着指定的轴重复多次,生成一个新的数组。但具体如何重复呢?本次博文就来探讨并试图回答这个问题,感兴趣的小伙伴可以继续阅读下去,希望对你有所启示~

numpy中的repeat函数 和 numpy数组的repeat方法

纯粹的文字说明不太直观,小编更倾向用代码工具进行直观展示。首先生成一个大小为256×256的原始图像:

import numpy as np
import cv2

img1 = np.zeros((256, 256), dtype=np.uint8) # 创建一个大小为256*256的全黑图像
img[16:112,118:138] = 255 # 第17-112行,119-138列的像素由黑变白 (索引从0开始)
img[144:-16,118:138] = 255 # # 第145-倒数第16行,119-138列的像素由黑变白

cv2.imshow('img', img) # 展示图像
cv2.waitKey(0) # 显示图像

结果如下:
在这里插入图片描述

将原始图像沿着【纵轴】重复3次

代码如下:

import numpy as np
import cv2

img1 = np.zeros((256, 256), dtype=np.uint8) # 创建一个大小为256*256的全黑图像
img[16:112,118:138] = 255 # 第17-112行,119-138列的像素由黑变白 (索引从0开始)
img[144:-16,118:138] = 255 # # 第145-倒数第16行,119-138列的像素由黑变白

# (256, 256) ---> (768, 256)
# 方案1 numpy数组的repeat方法
img = img.repeat(repeats=3, axis=0) # axis=0 代表沿【纵轴】方向将【每行】依次重复3次
# 方案2 numpy数组的repeat函数
img = np.repeat(img, repeats=3, axis=0) 

cv2.imshow('img', img) # 展示图像
cv2.waitKey(0) # 显示图像

运行结果如下:
在这里插入图片描述
从生成的新图像可以看出,numpy的repeat函数是沿着纵轴方向,对每行像素依次复制2遍(要求新图像重复3次,那么只需要复制2遍)。

将原始图像沿着【横轴】重复3次

import numpy as np
import cv2

img1 = np.zeros((256, 256), dtype=np.uint8) # 创建一个大小为256*256的全黑图像
img[16:112,118:138] = 255 # 第17-112行,119-138列的像素由黑变白 (索引从0开始)
img[144:-16,118:138] = 255 # # 第145-倒数第16行,119-138列的像素由黑变白

# (256, 256) ---> (256, 768)
# 方案1 numpy数组的repeat方法
img = img.repeat(repeats=3, axis=1) # axis=1 代表沿【横轴】方向将【每列】依次重复3次
# 方案2 numpy数组的repeat函数
img = np.repeat(img, repeats=3, axis=1) 

cv2.imshow('img', img) # 展示图像
cv2.waitKey(0) # 显示图像

运行结果如下:
在这里插入图片描述
从生成的新图像可以看出,numpy的repeat函数是沿着横轴方向,对每列像素依次复制2遍。

By the way

如果本博文对你有所帮助,可以点个赞/收藏支持一下,如果能够持续关注,小编感激不尽~
小编会坚持创作,持续优化博文质量,以小见大,给读者带来更好de阅读体验~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux基本指令(后篇)

目录 14.时间指令date 15.Cal指令 16.find指令(非常重要) 17.grep指令 18.打包压缩指令zip和tar以及解压指令unzip和tar 14.时间指令date date(显示当前时间) 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中…

企业存货库存综合分析全流程图

上期我们谈到了 诊断存货管理的4大维度,今天我们进一步全方位、全周期的分析企业内存货的问题。 企业存货是企业用于生产或销售的货品,是企业价值增值变现的载体,但是如果一旦没有产生交易,存货就很有可能带来损失。存货伴随着企业…

C#基础与进阶扩展合集-进阶篇(持续更新)

目录 本文分两篇,基础篇点击:C#基础与进阶扩展合集-基础篇 二、进阶扩展 1、Predicate 2、设置C#语言版本 3、ListCollectionView过滤集合 4、Adapt适配器 5、值类型与引用类型 6、程序设置当前项目工作目录 7、获取App.config配置文件中的值 …

Mysql多表查询 子查询

目录 关联查询——cross join 概述: 关联查询 inner join 概述: 关联查询 outher join 概述: inner join 和outher join 的区别 子查询 IN 概述 IN 分析 子查询 exists exists 分析 SQL之母 - SQL自学网站SQL自学网站http://sqlmo…

冒个泡!OceanBase亮相 2023 新加坡金融科技节

近日,OceanBase 亮相 Singapore Fintech Festival 2023(2023 新加坡金融科技节)!本届新加坡金融科技节于 2023 年 11 月 15 日至 17 日在新加坡博览展览中心举行,展会期间,OceanBase 得到了众多金融科技机构…

2023-12-01 AIGC-自动生成ppt的AI工具

摘要: 2023-12-01 AIGC-自动生成ppt-记录 自动生成ppt: BoardMix boardmix 一键生成ppt boardmix是一款基于云的ai设计软件,允许创建用于各种目的的自定义演示文稿、ai绘画,ai生成思维导图等。以下是它的一些功能: 可定制的模板 - 它有一个…

无人机助力电力设备螺母缺销智能检测识别,python基于YOLOv5开发构建电力设备螺母缺销小目标检测识别系统

传统作业场景下电力设备的运维和维护都是人工来完成的,随着现代技术科技手段的不断发展,基于无人机航拍飞行的自动智能化电力设备问题检测成为了一种可行的手段,本文的核心内容就是基于YOLOv7来开发构建电力设备螺母缺销检测识别系统&#xf…

从0开始学习JavaScript--JavaScript ES6 模块系统

JavaScript ES6(ECMAScript 2015)引入了官方支持的模块系统,使得前端开发更加现代化和模块化。本文将深入探讨 ES6 模块系统的各个方面,通过丰富的示例代码详细展示其核心概念和实际应用。 ES6 模块的基本概念 1 模块的导出 ES…

提高Idea编码速度和插件自用推荐

非常推荐 Easy Javadoc 一款注释生成器,很好使~免费,配合使用腾讯、百度之类的翻译免费额度完全够用了,印象中是50万字符每月。下图是使用快捷键生成的注释(我采用鼠标侧面按键,随手一按很方便) Chinese …

MySQL 基础、进阶、运维的学习笔记

1. MySQL 基础篇 1.1 MySQL 概述 1.1.1 数据库相关概念 数据库(Database, 简称 DB): 存储数据的仓库,数据是有组织的进行存储。 数据库管理系统(Database Management System, 简称 DBMS): 操作和管理数据库的大型软件。 SQL(Structured Query Language, 简称 S…

万界星空科技MES生产管理系统的主要功能

万界星空科技MES/云MES生产管理系统主要包括以下功能模块: 生产计划管理:根据订单和生产计划,制定详细的调度表和车间生产经营计划,将生产计划和客户订单转化为具体的生产经营计划,消除有效的日常运营,大大…

macOS本地调试k8s源码

目录 准备工作创建集群注意点1. kubeconfig未正常加载2. container runtime is not running3. The connection to the server 172.16.190.132:6443 was refused - did you specify the right host or port?4. 集群重置5.加入子节点 代码调试 准备工作 apple m1芯片 安装vmwa…

计算机毕业设计 基于SpringBoot的敬老院管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

熬夜会秃头——beta冲刺Day2

这个作业属于哪个课程2301-计算机学院-软件工程社区-CSDN社区云这个作业要求在哪里团队作业—beta冲刺事后诸葛亮-CSDN社区这个作业的目标记录beta冲刺Day2团队名称熬夜会秃头团队置顶集合随笔链接熬夜会秃头——Beta冲刺置顶随笔-CSDN社区 目录 一、团队成员会议总结 1、成员…

力扣225-用队列实现栈

文章目录 力扣225-用队列实现栈示例代码实现总结收获 力扣225-用队列实现栈 示例 代码实现 class MyStack {Queue<Integer>queue1;Queue<Integer>queue2;public MyStack() {queue1new LinkedList<Integer>();queue2new LinkedList<Integer>();}public…

webGL开发学科演示项目方案

开发学科演示项目需要考虑到教育目标、互动性和用户体验。以下是一个可能的技术方案&#xff0c;可用于实现这样的项目&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.WebGL 框架&#xff1a; 选择…

管理Windows资产新方式:SSH协议

配置默认shell&#xff0c;需要管理员权限运行powershell执行下面命令&#xff1a; New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -F…

CentOS或RHEL安装vscode

下载rpm安装包 网络下载或者下载到本地再上传到服务器&#xff0c;点击访问国内下载地址&#xff0c;不需要积分curl -fOL https://github.com/coder/code-server/releases/download/v4.19.1/code-server-4.19.1-amd64.rpm安装 rpm -i code-server-4.19.1-amd64.rpm关闭和禁用…

力扣题:字符的统计-12.2

力扣题-12.2 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;423. 从英文中重建数字 解题思想&#xff1a;有的单词通过一个字母就可以确定&#xff0c;依次确定即可 class Solution(object):def originalDigits(self, s):""":typ…

人工智能-优化算法之学习率调度器

学习率调度器 到目前为止&#xff0c;我们主要关注如何更新权重向量的优化算法&#xff0c;而不是它们的更新速率。 然而&#xff0c;调整学习率通常与实际算法同样重要&#xff0c;有如下几方面需要考虑&#xff1a; 首先&#xff0c;学习率的大小很重要。如果它太大&#xf…