OpenCV||超简略的Numpy小tip

一、基本类型

二、数组属性

三、数组迭代(了解)

复制代码
import numpy as np  
  
# 创建一个数组  
a = np.arange(6).reshape(2, 3)  
  
# 使用np.nditer遍历数组  
for x in np.nditer(a):  
    print(x)

np.nditer有多个参数,用于控制迭代器的行为,以下是一些重要参数的介绍:

  1. op:要迭代的数组或数组序列。

  2. flags :一个字符串列表,用于控制迭代器的行为。例如,'buffered''c_index''f_index''multi_index'等。这些标志可以组合使用,以满足不同的迭代需求。

    • 'buffered':启用缓冲,以减少内存访问次数。
    • 'c_index':跟踪C顺序索引。
    • 'f_index':跟踪Fortran顺序索引。
    • 'multi_index':跟踪多个索引或每个迭代维度一个索引元组。
  3. op_flags :一个字符串列表,用于指定每个操作数的标志。常用的有'readonly''readwrite''writeonly'

    • 'readonly':表示只读取操作数。
    • 'readwrite':表示将读取和写入操作数。
    • 'writeonly':表示只会写入操作数。
  4. op_dtypes:一个数据类型或数据类型元组,用于指定操作数所需的数据类型。如果启用了复制或缓冲,则数据将转换为指定的类型。

  5. order :控制迭代顺序,可选'C'(C顺序)、'F'(Fortran顺序)或'A'(如果所有数组都是Fortran连续的,则为'F'顺序,否则为'C'顺序)。

  6. casting :控制进行复制或缓冲时可能出现的数据转换类型。可选值包括'no''equiv''safe''same_kind''unsafe'

高级用法:

复制代码
# 同时迭代多个数组  
a = np.arange(6).reshape(2, 3)  
b = np.array([[1, 2, 3], [4, 5, 6]])  
  
# 使用multi_index同时获取索引和元素值  
it = np.nditer([a, b], flags=['multi_index'], op_flags=['readonly'])  
while not it.finished:  
    print(it.multi_index, it[0], it[1])  
    it.iternext()

四、写在最后

学习OpenCV前,扎实的Numpy基础是不容忽视的。

链接跳转:

章节一、OpenCV||超细节的基本操作

章节三、OpenCV||超详细的图像处理模块

章节四、OpenCV||超详细的灰度变换和直方图修正

章节五、OpenCV||超详细的图像平滑

章节六、OpenCV||超详细的几何变换

相关推荐
贵州数擎科技有限公司10 分钟前
NumPy 从数组操作理解深度学习的计算本质
人工智能·numpy
深度学习lover1 小时前
<数据集>yolo微藻识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·微藻识别
格林威1 小时前
Windows 实时性补丁(RTX / WSL2)
linux·运维·人工智能·windows·数码相机·计算机视觉·工业相机
程序媛徐师姐1 小时前
Python基于OpenCV的马赛克画的设计与实现【附源码、文档说明】
python·opencv·django·马赛克绘画·python马赛克绘画系统·马赛克画·python马赛克画
星光技术人2 小时前
怎么理解任务接口不是文本
人工智能·深度学习·计算机视觉·语言模型·自动驾驶
sali-tec3 小时前
C# 基于OpenCv的视觉工作流-章49-人脸检测
图像处理·人工智能·opencv·算法·计算机视觉
贵州晓智信息科技3 小时前
NumPy 从数组操作理解深度学习的计算本质
人工智能·深度学习·numpy
大江东去浪淘尽千古风流人物3 小时前
【Basalt】nfr_mapper 中的“小 SfM/BA 后端”
c++·人工智能·计算机视觉·oracle·augmented reality
gorgeous(๑>؂<๑)3 小时前
【CVPR26-韩国高丽大学】基于能量分离的开放世界目标检测未知目标方法
人工智能·目标检测·机器学习·计算机视觉·目标跟踪
大写-凌祁3 小时前
基于LLM智能体框架的城市遥感图像变化分析
人工智能·深度学习·计算机视觉·语言模型·aigc