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

前言

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

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

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

import numpy as np
import cv2img1 = 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 cv2img1 = 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 cv2img1 = 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阅读体验~

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

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

相关文章

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

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

docker踩坑记录:docker容器创建doris容器间无法通讯问题

背景: 开发大数据平台,使用doris作为数据仓储,使用docker做集群部署,先进行开发环境搭建,环境为BE1;FE1,原来使用官方例子,但是官方例子是创建了一个bridge使用172.20.80.0/24通讯,…

Matlab R2022b 安装成功小记

Matlab R2022b 安装成功小记 前言一、 下载链接二、 安装过程小记 叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧! 前言 windows 10系统之前安装过Matlab R2010b做基础研究,最…

解读免费化潮流:为何数据可视化软件向免费迈进?

近年来,我们见证了数据可视化软件呈现出明显的免费化趋势。这个趋势的背后隐藏着许多关键原因,影响着整个数据行业的发展和走向。为何数据可视化软件开始朝着免费方向发展?让我们一同深入探讨。 普及数字化需求: 数字化已经深入到…

canvas基础:渲染文本

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例…

Android12之logcat日志显示颜色和时间(一百六十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Spring Cloud 版本升级记:OpenFeignClient与Gateway的爱恨交织

Spring Cloud 版本升级记:OpenFeignClient与Gateway的爱恨交织 近日,在负责的项目中,我对 Spring Boot、Spring Cloud 以及 Spring Cloud Alibaba 进行了版本升级。原以为会一切顺利,没想到却遭遇了 Spring Cloud Gateway 无法正…

.NET6实现破解Modbus poll点表配置文件

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 !序言 Modbus 协议是工控领域常见…

数据结构--->单链表

文章目录 链表链表的分类 单链表单链表的存储结构单链表主要实现的接口函数单链表尾插动态申请新节点单链表头插单链表的尾删单链表的头删在指定位置之前插入单链表查找插入 在指定位置之后插删除指定位置元素删除指定位置之后的元素顺序输出链表销毁单链表 顺序表和单链表的区…

Seaborn图形可视化基础_Python数据分析与可视化

Seaborn图形可视化基础 Seaborn可视化Seaborn与Matplotlib Seaborn可视化 即使matplotlib已经如此强大了,但是不得不承认它不支持的功能还有很多。 例如: 2.0之前的版本的默认配置样式绝对不是用户的最佳选择; matplotlib的API比较底层。虽…

VSC++: 双进制回文

缘由双进制回文数&#xff0c;一道C程序题&#xff0c;求解&#xff01;&#xff01;&#xff01;&#xff1f;_编程语言-CSDN问答 int 合成100回文(int 数) { int 合 0, 倒 数>10 && 数 < 100 ? 数 / 10 : 数;while (倒)合 * 10, 合 倒 % 10, 倒 / 10, (合…

力扣232-用栈实现队列

文章目录 力扣232-用栈实现队列示例代码实现总结收获 力扣232-用栈实现队列 示例 代码实现 class MyQueue {Deque<Integer> instack;Deque<Integer> outstack ;public MyQueue() {instacknew ArrayDeque<Integer>();outstacknew ArrayDeque<Integer>(…

zabbix监控

非常成熟的监控软件. 运维人员&#xff0c;监控系统服务器的状态&#xff0c;网站流量&#xff0c;进程服务的运行状态。保证整个集群的工作正常。 zabbix是什么&#xff1f; zabbix是基于web页面提供的一种可视化的监控服务软件。以分布式的方式涉及系统监控、网络监控、硬…

Flutter应用程序的加固原理

在移动应用开发中&#xff0c;Flutter已经成为一种非常流行的技术选项&#xff0c;可以同时在Android和iOS平台上构建高性能、高质量的移动应用程序。但是&#xff0c;由于其跨平台特性&#xff0c;Flutter应用程序也面临着一些安全风险&#xff0c;例如反编译、代码泄露、数据…

关于前端的学习思考-父子盒子溢出问题

先摆图片 很明显&#xff0c;大盒子高度设置400px&#xff0c;小盒子都是高度设置成300px&#xff0c;明显400px<600px&#xff0c;这时候子盒子就会溢出。如何解决溢出问题&#xff1f; 这个时候我把子盒子换成50%&#xff0c;50%。发现并不会溢出&#xff0c;因为相当于两…

Java-easyExcel入门教程

文章目录 前言一、简介二、使用步骤1. 引入依赖2. 前提准备3. 实现导出4. 实现导入 三、我所遇到的问题四、总结 前言 在日常开发中经常会遇到一些 excel 表导入导出的需求&#xff0c;以往会使用 POI 封装成工具类来处理这些导入导出的需求&#xff0c;但是 POI 在导入大文件…

2024年天津天狮学院专升本专业课报名缴费流程

天津天狮学院高职升本缴费流程 一、登录缴费系统 二、填写个人信息&#xff0c;进行缴费 1.在姓名处填写“姓名”&#xff0c;学号处填写“身份证号”&#xff0c;如下图所示&#xff1a; 此处填写身份证号 2.单击查询按钮&#xff0c;显示报考专业及缴费列表&#xff0c;…

Windows平台下的oracle 11G-11.2.0.4补丁升级操作指南

序号 文件名称 文件说明 1 p6880880_112000_MSWIN-x86-64_OPatch 11.2.0.3.33 for DB 11.2.0.0.0 (Feb 2022) 用于升级 OPatch 2 DB_PSU_11.2.0.4.220118 (Jan 2022)_p33488457_112040_MSWIN-x86-64 主要补丁文件 注意&#xff1a;请用管理员权限运行文件内命令&#…

应用于智慧工厂的AI边缘计算盒子+AI算法软硬一体化方案

智慧工厂解决方案&#xff0c;传统工厂/生产管理&#xff0c;普遍存在运营粗放、效率低、应变能力差、安全隐患突出、资源不平衡等“行业症状”&#xff1b; 以英码产品为核心的智能化场景解决方案&#xff0c;可以从本质上根治这些“症状”&#xff0c;如企业可利用智能预测系…

基于LNMP快速搭建WordPress平台

目录 1 LNMP简介 2 WordPress简介 3 安装MySQL环境 3.1 安装MySQL 3.1.1 下载wget工具 3.1.2 下载MySQL官方yum源安装包 3.1.3 安装MySQL官方yum源 3.1.4 mysql安装 3.2 启动MySQL 3.3 获取默认密码 3.4 登录MySQL ​ 3.5 修改密码 3.6 创建WordPress数据库并授权 3.6.1 创…