OpenCv中Numpy常用函数
目录
创建ndarray对象
ndarray对象的切片和索引
生成随机数、随机矩阵
创建ndarray对象
- np.array()可以接受一切序列型的对象,并且可以指定对象中的元素的数据类型,若不指定则自动为创建的数组推断一个适合的数据类型。
- np.zeros()可以创建一个全为0的矩阵
- 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常用函数相关推荐
- opencv中的approxPolyDP函数和boundingRect函数
opencv中的approxPolyDP函数和boundingRect函数说明 cv2.boundingRect 举例: import numpy as npimage=cv2.imread(&quo ...
- 使用opencv中的merge()函数为BGR图像添加alpha通道
先上代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # 图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 # 图像处理 ...
- json pandas 内存溢出_pandas中的常用函数
Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. 近年随着大数据时代的到来,产生 ...
- python数据分析 - numpy | ndarray数组 | numpy常用函数
文章目录 数据分析 numpy概述 numpy历史 numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象的创 ...
- 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能
文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...
- Python数据分析——Numpy常用函数
numpy常用函数 加载文件 numpy提供了函数用于加载逻辑上可被解释为二维数组的文本文件,格式如下: 数据项1 <分隔符> 数据项2 <分隔符> ... <分隔符&g ...
- NumPy常用函数(7)-- 计算股票收益率和波动率
收盘价的分析常常是基于股票收益率的.股票收益率又可以分为简单收益率和对数收益率. 简单收益率:是指相邻两个价格之间的变化率. 对数收益率:是指所有价格取对数后两两之间的差值. 简单收益率的计算 N ...
- opencv中的copyTo函数在opencv-Python中的实现
Opencv中的copyTo()函数在opencv-Python中的实现 copyTo() 函数有两种方式 第一种:src_Image.copyTo(dst_Image),表示将原图复制到目标图中. ...
- python row函数_Python numpy 常用函数总结
Numpy是什么 在没给大家介绍numpy之前先给大家说下python的基本概念. Python 是一种高级的,动态的,多泛型的编程语言.Python代码很多时候看起来就像是伪代码一样,因此你可以使用 ...
最新文章
- max格式转obj小工具_PDF文件转JPG等图片格式的小工具
- day19 复习,组合和继承
- 【EI会议】 2021年图像处理与智能控制国际学术会议(IPIC 2021)
- 计算机术语列是,计算机术语-RAM ROM
- 混迹职场,有交换意识的人都是聪明人
- ajax在php中使用方法,在项目中如何使用ajax请求
- RHEL6 kernel bug在hadoop上的测试
- 数据库oracle有哪些函数,Oracle函数大全
- Linux 64位的操作系统版本,查看cpu 以及linux和windows系统是32为还是64位?+查看操作系统版本...
- DBSCAN密度聚类算法
- 计算机学机械制图吗,机械制图为什么这么难学?
- 将阳历转换为阴历php,PHP阳历转换为阴历方法代码
- linux命令(3) 链接ln和搜索locate,find, whereis, which, grep命令
- 芬兰手游业25年发展史
- WiFi 6是不是真的很“6”?一文解决你对WiFi 6的所有疑惑
- 【matlab图像处理】matlab数据结构(1)
- wait()、notify()、notifyAll()使用详解
- xftp无法连接到虚拟机
- 基于组合优化的旅行商问题
- Linux下通过ioctl修改IP信息