opencv 均值滤波 Mean filtering

均值滤波是典型的线性滤波算法,是指用当前像素点周围nxn个像素值的均值来代替当前像素值。使用该方法遍历处理图像内的每一个像素点,可完成整幅图像的均值滤波。

对第5行第5列的像素点进行均值滤波时,首先需要考虑需要对周围多少个像素点去取平均值。通常情况下,我们会以该当前像素为中心,对行数和列数相等的一块区域内的所有像素点的像素取平均值。

针对第 5 行第 5 列像素点均值滤波的运算示意图。

针对每一个像素点,都是与一个内部值均为1/25的55矩阵相乘,得到均值滤波的计算结果。

pytorch torch.unsqueeze 和 torch.squeeze 用法

1. torch.unsqueeze 详解

# torch.unsqueeze(input, dim, out=None)

# 作用:扩展维度

# 返回一个新的张量,对输入的既定位置插入维度 1

# 注意:返回张量与输入张量共享内存,所以改变其中一个的内容会改变另一个。

# 参数:

# tensor (Tensor) – 输入张量

# dim (int) – 插入维度的索引

# out (Tensor, optional) – 结果张量

import torc

numpy np.squeeze 用法

numpy提供了numpy.squeeze(a, axis=None)函数,从数组的形状中删除单维条目。

其中a表示输入的数组。axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错。

axis的取值可为None 或 int 或 tuple of ints,若axis为空时则删除所有单维度的条目。

import numpy as np

a = np.array([[[0], [1], [2]]])

b = np.squeeze(a)

c = np.squ

独热编码 One-Hot 编码

独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。

import numpy as np

correct = np.array([0, 1, 2, 3, 4, 5,

6])

n_data = len(correct)

# — 将 周一至周日 转换为独热编码格式 —

correct_data = np.zeros((n_data, 7))

print(c

numpy np.pad 填充 用法

np.pad(array,pad_width,mode,**kwargs)  # 返回填充后的numpy数组

array:要填充的numpy数组【要对谁进行填充】

pad_width:每个轴要填充的数据的数目【每个维度前、后各要填充多少个数据】

mode:填充的方式【采用哪种方式填充】

import numpy as np

# 一维

a = np.array([1, 2, 3, 4, 5])

print(“a.shape”, a.shape)

b = np.

numpy np.random.shuffle(x)和np.random.permutation(x)数组打乱随机排列

import numpy as np

#将数组打乱随机排列 两种方法:

#1 np.random.shuffle(x):在原数组上进行,改变自身序列,无返回值。

x = np.arange(5)

print(x)

np.random.shuffle(x)

print(x)

#2 np.random.permutation(x):不在原数组上进行,返回新的数组,不改变自身数组。

y = np.arange(5)

print(y)

z = np.random.

numpy np.dot 向量点积和矩阵乘法

#1. np.dot(a, b), 其中a为一维的向量,b为一维的向量,当然这里a和b都是np.ndarray类型的, 此时因为是一维的所以是向量点积。

import numpy as np

a = np.array([0, 1, 2])

b = np.array([1, 2, 3])

# 0*1 + 1*2 + 2*3

print(np.dot(a, b))

# 8

#2. np.dot(a, b), 其中a为二维矩阵,b为一维向量,这时b会被当做一维矩阵进行计算。