AG广东会,山东十一选五,大发:高斯:慕樯苡朐
通常,图像处理软件会提供":"(blur)滤镜,使图片产生:男Ч。
":"的算法有很多种,其中有一种叫做"高斯:"(Gaussian Blur)。它将正态分布(又名"高斯分布")用于图像处理。
所谓":",可以理解成每一个像素都取周边像素的平均值。

上图中,2是中间点,周边点都是1。

"中间点"取"周围点"的平均值,就会变成1。在数值上,这是一种"平滑化"。在图形上,就相当于产生":"效果,"中间点"失去细节。

显然,计算平均值时,取值范围越大,":Ч"越强烈。

上面分别是原图、:刖3像素、:刖10像素的效果。:刖对酱,图像就越:。从数值角度看,就是数值越平滑。
接下来的问题就是,既然每个点都要取周边像素的平均值,那么应该如何分配权重呢?
如果使用简单平均,显然不是很合理,因为图像都是连续的,越靠近的点关系越密切,越远离的点关系越疏远。因此,加权平均更合理,距离越近的点权重越大,距离越远的点权重越小。
AG广东会,山东十一选五,大发:python生成高斯:
Python可以使用opencv库很方便地生成:枷,如果没有安装opencv的,可以用pip安装:
pip install python-opencv
想了解高斯:鞘裁吹幕,可以看wiki百科-高斯:。对于一般人,只要知道这个操作可以生成:计秃昧,一行代码即可搞定:
import cv2
img = cv2.GaussianBlur(ori_img, (9, 9), 0)
这个函数的第一个参数是原图像,第二个参数是高斯矩阵,要注意长和宽都必须为单数,第三个参数是标准差,如果写0,则函数会自行计算。
那怎么控制:潭饶兀亢芗虻,高斯矩阵的尺寸越大,标准差越大,处理过的图像:潭仍酱。
介绍完了简单的高斯:僮,我们加一个随机处理,来随机生成:潭炔煌募刚磐枷,其实也很简单,加一个随机函数来生成高斯矩阵的尺寸就可以了:
import cv2
import random
imgName = "img.png"
min_size = 11
ori_img = cv2.imread(imgName)
for i in range(3):
addition = random.choice((0, 2, 4, 6, 8, 10, 12))
size = min_size + addition
kernel_size = (size, size)
img = cv2.GaussianBlur(ori_img, kernel_size, 0)
new_imgName = "New_" + str(i) + "_" + str(kernel_size[0]) + "_" + imgName
cv2.imwrite(new_imgName, img)
这里利用了random库,来在一组数字中随机选择一个数,加到最小尺寸上,作为每次生成的:计母咚咕卣蟪叽,这里我的尺寸最小值设为了11,大家可以根据需要自己尝试看效果来设定。
AG广东会,山东十一选五,大发:总结
到此这篇关于Python如何生成随机高斯:计奈恼戮徒樯艿秸饬,更多相关python生成高斯:谌萸胨阉鹘疟局乙郧暗奈恼禄蚣绦老旅娴南喙匚恼孪M蠹乙院蠖喽嘀С纸疟局遥
您可能感兴趣的文章:- python 基于opencv实现高斯平滑
- python绘制高斯曲线
- Python OpenCV高斯金字塔与拉普拉斯金字塔的实现
- python实现高斯投影正反算方式
- Python 实现顺序高斯消元法示例
- python 多维高斯分布数据生成方式
- OpenCV半小时掌握基本操作之高斯双边