1.理论知识

先看伟大的高斯分布(Gaussian Distribution)的概率密度函数(probability density function):

Gaussian Distribution(Normal Distribution)其图形特点为中间高,两头低,是钟形曲线(bell-shaped curve)。在高斯分布中,以数学期望μ表示钟型的中心位置(也即曲线的位置),而标准差(standard deviation)σ表征曲线的离散程度。

随机变量X服从数学期望为μ、方差为σ^2的正态分布,记为:
X = N ( μ, σ^2 )
当数学期望为0,方差为1时,该分布为标准正态分布(standard normal distribution)。

高斯分布曲线的特征:
关于μ对称;总面积为1;在μ加减σ处为拐点(先内翻后外翻。
此外,我们通过公式可以看出,σ越大,x位置的概率值就越小,说明曲线越平缓(矮小);而如果σ小,x的概率就大,说明曲线是瘦高的,概率分布比较集中。

如上图所示,红,蓝,橘黄色曲线的数学期望在0点,但蓝色的方差为0.2,所以其最为陡峭,而橘红色曲线的方差为5.0,证明其分布很广,由于曲线的概率总和为1,所以若其分布广,则高度必然会较低。绿色曲线由于其数学期望为-2,所以,在其他三条曲线的左侧。


对应于numpy中:

numpy.random.normal(loc=0.0, scale=1.0, size=None)

参数的意义为:

loc:float此概率分布的均值(对应着整个分布的中心centre)
scale:float此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints输出的shape,默认为None,只输出一个值

我们更经常会用到的np.random.randn(size)所谓标准正态分布(μ=0,σ=1),对应于np.random.normal(loc=0, scale=1, size)。

2.利用高斯模糊可以实现毛玻璃的特效

import cv2 as cv
import numpy as npdef clamp(pv):if pv > 255:return 255if pv < 0:return 0else:return pvdef gaussian_noise(image):h, w, c = image.shapefor row in range(h):for col in range(w):#获取3通道的随机数s = np.random.normal(0, 20, 3)#获取3通道的原始值b = image[row, col, 0]  # blueg = image[row, col, 1]  # greenr = image[row, col, 2]  # red#通过随机数,更新3通道的原始值image[row, col, 0] = clamp(b + s[0])image[row, col, 1] = clamp(g + s[1])image[row, col, 2] = clamp(r + s[2])cv.imshow("noise image", image)print("--------- Hello Python ---------")
src = cv.imread("D:/vcprojects/images/example.png")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)t1 = cv.getTickCount()
#gaussian_noise(src)
t2 = cv.getTickCount()
time = (t2 - t1)/cv.getTickFrequency()
print("time consume : %s"%(time*1000))
dst = cv.GaussianBlur(src, (0, 0), 15)
cv.imshow("Gaussian Blur", dst)cv.waitKey(0)cv.destroyAllWindows()

3.效果展示

OpenCV利用高斯模糊可以实现毛玻璃的特效相关推荐

  1. OpenCV 利用高斯模糊实现简单的磨皮美颜效果

    1.高斯模糊 首先高斯指的是高斯函数,这个我想大家应该都知道,是一种非常常见的概率分布函数.大概就长这样吧. 通过均值模糊类比,我们可以大胆的猜出来高斯模糊的含义: 每一次需要处理的像素矩阵中不同地方 ...

  2. 利用API实现窗体淡入淡出特效

    #region 利用API实现窗体淡入淡出特效 //窗体淡入淡出特效 public const Int32 AW_HOR_POSITIVE = 0x00000001; // 从左到右打开窗口 publ ...

  3. html5绘制节点链接,利用HTML5实现网状结构节点动画特效

    特效描述:利用HTML5实现 网状结构 节点动画特效.利用HTML5实现网状结构节点动画特效 代码结构 1. HTML代码 (function() { var canvas, ctx, circ, n ...

  4. 利用贴图实现的人脸特效

    随着人脸检测技术的不断成熟,人脸特效也逐渐进入我们的生活中,各个美颜相机软件,p图软件都能够检测到人脸,添加人脸特效.最近尝试着做了一下,一种比较简单的人脸特效,利用贴图来实现的. 这是效果图 思维导 ...

  5. iOS毛玻璃磨砂特效

    iOS 8之后新添加了UIBlurEffect 类和 UIVisualEffectView 类来实现毛玻璃磨砂特效. UIBlurEffect *blur = [UIBlurEffect effect ...

  6. html5实现粒子效果的文字,利用HTML5实现Canvas粒子文字特效

    特效描述:利用HTML5实现 Canvas 粒子文字特效.利用HTML5实现Canvas粒子文字特效 代码结构 1. HTML代码 change /*jshint esversion:6*/ var ...

  7. html霓虹灯效果图,利用HTML5实现Canvas霓虹灯蜂巢特效

    特效描述:利用HTML5实现 Canvas 霓虹灯 蜂巢特效.利用HTML5实现Canvas霓虹灯蜂巢特效 代码结构 1. HTML代码 /* because me lazy */ Object.ge ...

  8. 利用OpenCV抠图技术实现影视中“隐身”特效

    点击我爱计算机视觉标星,更快获取CVML新技术 在电影电视制作的过程中,经常需要用到虚拟演播室,想想天气预报画面中经常会看到主持人前一会儿还置身于祖国南疆的炙热大街,一挥手就来到了辽阔无际的西北戈壁滩 ...

  9. python裁剪图片边缘模糊_Python OpenCV 图片高斯模糊

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧. 基础知识铺垫 看到一种说法,解释高斯模糊的比较简单,高斯模糊是带加权的均值模糊. 大概解释如下: 高斯模糊实质上就是一种均 ...

  10. Python OpenCV 图片高斯模糊

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧. Python OpenCV 基础知识铺垫 函数原型介绍 高斯模糊(Gaussian Blur) 橡皮擦的小节 基础知识铺垫 ...

最新文章

  1. 11、E-commerce in Your Inbox:Product Recommendations at Scale-----产品推荐(prod2vec和user2vec)...
  2. 查找字符位置_Excel中查找字符第N次出现的位置信息,换个思路其实很简单
  3. 原根与指标,离散对数
  4. $$和$BASHPID区别
  5. unity图片拖不进去_Unity UGUI实现简单拖拽图片功能
  6. how is SAP UI5 component.js called in the beginning
  7. 运行orbslam2出现 段错误 (核心已转储)_JDK 14已发布快速预览16个新特性
  8. Linux/Documentations: Kernel Livepatching
  9. Python学习—2048小游戏等4个小练习
  10. XamlReader 动态加载XAML
  11. bldc 原理 方波控制_正弦波驱动BLDC原理
  12. 使用LoadRunner进行性能测试的简单步骤
  13. linux vnc服务器6,Linux(RHEL6\CENTOS6\OLE6) 下VNC-SERVER安装与配置
  14. 读书笔记《Unix编程艺术》一
  15. Photoshop简单几步打造酷火焰字特…
  16. 读书 | 颠覆者:周鸿祎自传
  17. 安装python的pip相关
  18. 计算机信息管理面试自我介绍,信息管理专业的面试自我介绍
  19. consistent equation
  20. 解决No EntityManager with actual transaction available for current thread

热门文章

  1. 为Node.js编写组件的几种方式
  2. 【mysql】关于IO/内存方面的一些优化
  3. 近期生活中将会发生的一点变化!
  4. python吃显卡还是内存条_用游戏本打游戏是显卡重要还是内存重要?
  5. jquery mini下载_【福利】iPhone 12 Pro Maxamp;mini预售开始啦!
  6. Kubernetes - - k8s - v1.12.3 持久化部署 GitLab 集成 OpenLDAP 登录
  7. 使用mysql 函数 IFNULL 解决某些字段为null
  8. PlayWidget
  9. Jfinal weixin源码分析---碎碎念(看最后,有福利)
  10. 分布式文件系统(FastDFS+Tengine+fastdfs-nginx-module)