import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-20,20,10)
y = 2*x + 5
plt.plot(x,y,'o')
plt.show()
polynomial_coeff = np.polyfit(x,y,2)
x_1 = np.linspace(-20,20,50)
fun_y_1 = np.poly1d(polynomial_coeff)
plt.plot(x_1,fun_y_1(x_1),'o')
plt.show()
x = np.array([1,2,3])
y = np.array([1,2])
xv,yv = np.meshgrid(x,y)
print(xv)
print(yv)
[[1 2 3]
[1 2 3]]
[[1 1 1]
[2 2 2]]
x_list = np.linspace(0,15,16).astype(np.uint8)
y_list = np.linspace(0,15,16).astype(np.uint8)
plt.plot(x_list,y_list,'o')
plt.show()
高斯滤波
计算图像梯度
因为图片是离散所以无法进行求导,可以将差商来近似导数。
非极大值抑制
通常灰度变化的地方都比较集中,将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点。将有多个像素宽的边缘变成一个单像素宽的边缘。即胖边缘变成瘦边缘。
双阈值筛选
设置两个阈值分别为高阈值(high)和低阈值(low), 然后将大于high阈值设置为强边缘,小于low阈值则删除处理,而在高阈值和低阈值之间需要再进一步处理,也就是通过判断其邻域是否存在强边缘