目录

创建ndarray对象

ndarray对象的切片和索引

​​​​​​​ 生成随机数、随机矩阵


创建ndarray对象

  1. np.array()可以接受一切序列型的对象,并且可以指定对象中的元素的数据类型,若不指定则自动为创建的数组推断一个适合的数据类型。
  2. np.zeros()可以创建一个全为0的矩阵
  3. np.ones()可以创建一个全为1的矩阵

示例代码:

import numpy as npa = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]], dtype=np.float32)b = np.ones((3, 3), dtype=np.uint8)c = np.zeros((3, 3), dtype=np.uint16)print("{}\n{}\n{}\n".format(a, b, c))

ndarray对象的切片和索引

切片与索引可以对图像的像素或者某一通道进行操作。如:

import cv2 as cv
import matplotlib.pyplot as plt
import sys# 裁剪图像
image = cv.imread('/墩墩儿.jpeg')
# 检测是否读取成功
if image is None:print('Failed to read')sys.exit()# 查看要裁剪区域具体坐标
plt.imshow(image)
plt.show()
# [y1:y2, x1:x2]
img_dun_dun = image[660:841, 230:436]cv.imshow('dundun', img_dun_dun)
cv.waitKey(0)
cv.destroyAllWindows()

结果如下:

可见左图显示出来的图像与原图像不同,这是由于OpenCv导入的图像是BGR形式,而matplotlib中读取的是RGB形式。

此处可以进行切片索引的另一种用法,分离颜色通道并重新组合

# 分离图像颜色通道
b = image[:, :, 0]
g = image[:, :, 1]
r = image[:, :, 2]
# 合并颜色通道
image_RGB = cv.merge([r, g, b])

这样得到的图像就可以显示出原本的样子了

生成随机数、随机矩阵

import cv2 as cv
import numpy as np# 生成随机数组,可以通过随机数形成噪点
# array = np.random.randint(min, max, (shape), dtype)
array_1 = np.random.randint(0, 255, (521, 521, 3), dtype=np.uint8)
# 生成正态分布随机数组
# array = np.random.normal(loc, scale, (shape))
array_2 = np.random.normal(0, 1, (3, 3))
print(array_1)
print('=======')
print(array_2)
# 噪点展示
cv.imshow('噪点', array_1)
cv.waitKey(0)
cv.destroyAllWindows()

OpenCv中Numpy常用函数相关推荐

  1. opencv中的approxPolyDP函数和boundingRect函数

    opencv中的approxPolyDP函数和boundingRect函数说明 cv2.boundingRect 举例: import numpy as npimage=cv2.imread(&quo ...

  2. 使用opencv中的merge()函数为BGR图像添加alpha通道

    先上代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # 图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 # 图像处理 ...

  3. json pandas 内存溢出_pandas中的常用函数

    Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. 近年随着大数据时代的到来,产生 ...

  4. python数据分析 - numpy | ndarray数组 | numpy常用函数

    文章目录 数据分析 numpy概述 numpy历史 numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象的创 ...

  5. 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能

    文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...

  6. Python数据分析——Numpy常用函数

    numpy常用函数 加载文件 numpy提供了函数用于加载逻辑上可被解释为二维数组的文本文件,格式如下: 数据项1 <分隔符> 数据项2 <分隔符> ... <分隔符&g ...

  7. NumPy常用函数(7)-- 计算股票收益率和波动率

    收盘价的分析常常是基于股票收益率的.股票收益率又可以分为简单收益率和对数收益率. 简单收益率:是指相邻两个价格之间的变化率. 对数收益率:是指所有价格取对数后两两之间的差值.   简单收益率的计算 N ...

  8. opencv中的copyTo函数在opencv-Python中的实现

    Opencv中的copyTo()函数在opencv-Python中的实现 copyTo() 函数有两种方式 第一种:src_Image.copyTo(dst_Image),表示将原图复制到目标图中. ...

  9. python row函数_Python numpy 常用函数总结

    Numpy是什么 在没给大家介绍numpy之前先给大家说下python的基本概念. Python 是一种高级的,动态的,多泛型的编程语言.Python代码很多时候看起来就像是伪代码一样,因此你可以使用 ...

最新文章

  1. max格式转obj小工具_PDF文件转JPG等图片格式的小工具
  2. day19 复习,组合和继承
  3. 【EI会议】 2021年图像处理与智能控制国际学术会议(IPIC 2021)
  4. 计算机术语列是,计算机术语-RAM ROM
  5. 混迹职场,有交换意识的人都是聪明人
  6. ajax在php中使用方法,在项目中如何使用ajax请求
  7. RHEL6 kernel bug在hadoop上的测试
  8. 数据库oracle有哪些函数,Oracle函数大全
  9. Linux 64位的操作系统版本,查看cpu 以及linux和windows系统是32为还是64位?+查看操作系统版本...
  10. DBSCAN密度聚类算法
  11. 计算机学机械制图吗,机械制图为什么这么难学?
  12. 将阳历转换为阴历php,PHP阳历转换为阴历方法代码
  13. linux命令(3) 链接ln和搜索locate,find, whereis, which, grep命令
  14. 芬兰手游业25年发展史
  15. WiFi 6是不是真的很“6”?一文解决你对WiFi 6的所有疑惑
  16. 【matlab图像处理】matlab数据结构(1)
  17. wait()、notify()、notifyAll()使用详解
  18. xftp无法连接到虚拟机
  19. 基于组合优化的旅行商问题
  20. Linux下通过ioctl修改IP信息

热门文章

  1. 内网网站发布到外网-五种方法
  2. # Logistics Regression
  3. oracle数据库运维一般做什么,数据库运维都做些什么呢?
  4. Linux中cut命令的作用
  5. 软件测试设计——按类型划分
  6. xMAP/NMAP/MIAP/移动办公/手机办公/移动适配
  7. 系统克隆 机械硬盘无缝迁移到ssd
  8. Linux安装7z压缩软件记录
  9. idea 将分支代码合并到另一分支上
  10. android gif图片闪烁,Android中动态显示gif图片