这里写目录标题
- [一. Opencv 基于ndarray的基本操作](#一. Opencv 基于ndarray的基本操作)
-
- [1. 浅拷贝](#1. 浅拷贝)
- [2. np.copy ( ) 深拷贝](#2. np.copy ( ) 深拷贝)
- [3. 堆叠](#3. 堆叠)
-
- [3.1 np.vstack ( ) 垂直方向堆叠](#3.1 np.vstack ( ) 垂直方向堆叠)
- [3.2 np.hstack ( ) 水平方向堆叠](#3.2 np.hstack ( ) 水平方向堆叠)
- [4. numpy创建图像](#4. numpy创建图像)
- [5 np.transpose ( ) 更改维度顺序](#5 np.transpose ( ) 更改维度顺序)
- [6. cv.resize ( ) 放大缩小](#6. cv.resize ( ) 放大缩小)
- [7. np.clip ( )](#7. np.clip ( ))
一. Opencv 基于ndarray的基本操作
1. 浅拷贝
拷贝前后的两张图片:变化一致
2. np.copy ( ) 深拷贝
拷贝前后的两张图片:互不影响
3. 堆叠
3.1 np.vstack ( ) 垂直方向堆叠
将数组垂直堆叠,形成一个新的数组
3.2 np.hstack ( ) 水平方向堆叠
将数组水平堆叠,形成一个新的数组
4. numpy创建图像
numpy通过相关创建数组语法,指定图像宽高通道数和类型(一般为unit8),创建图像
5 np.transpose ( ) 更改维度顺序
np.transpose(a, axes=None)
参数:
a:ndarray数据
axes:维度,默认情况下为颠倒所有维度
作用:
对ndarray数据进行转置
【注意】
若想对一个矩阵进行转置,该矩阵必须为方阵
6. cv.resize ( ) 放大缩小
resize(src,dsize[,dst[,fx[,fy,interpolation]]]])
必须参数:
src:需要缩放的图片
dsize:
【可能会发生形变】
缩放之后的图片大小,元组和列表表示均可
注意:它是必选参数,参数可以是None
可选参数:
dst:
缩放之后的输出图片(该参数C++才用)
注意:python语法中输出图片直接进行赋值
fx,fy:
x轴和y轴的缩放比,即宽度和高度的缩放比(倍数)
特别注意,使用fx,fy时:
fx,fy必须一起出现,同时必须dsize=None;否则fx,fy不生效
interpolation:
插值算法,缩小没有插值问题,放大存在该问题
主要有以下几种:
INTER_NEAREST,临近插值,速度块,效果差
INTER_LINEAR,双线性插值,使用原图中的4个点进行插值,默认
INTER_CUBIC,三次插值,原图中的16个点
INTER_AREA,区域插值,效果最好,计算时间最长
7. np.clip ( )
np.clip ( )
参数:
a:需要被裁剪的数组
a_min:元素的最小值
a_max:元素的最大值
out:
指定一个输出数组,用于存放结果
如果不指定,则会创建一个新的数组
作用:
用于将数组中的元素限制在指定的最小值和最大值之间
感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!
本文相关代码存放位置
祝愉快🌟!