Opencv+Python实现图像运动模糊和高斯模糊的示例


Posted in Python onApril 11, 2019

运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊

Opencv+Python实现运动模糊,主要用到的函数是cv2.filter2D()

# coding: utf-8
import numpy as np
import cv2
def motion_blur(image, degree=12, angle=45):
  image = np.array(image)
  # 这里生成任意角度的运动模糊kernel的矩阵, degree越大,模糊程度越高
  M = cv2.getRotationMatrix2D((degree / 2, degree / 2), angle, 1)
  motion_blur_kernel = np.diag(np.ones(degree))
  motion_blur_kernel = cv2.warpAffine(motion_blur_kernel, M, (degree, degree))
  motion_blur_kernel = motion_blur_kernel / degree
  blurred = cv2.filter2D(image, -1, motion_blur_kernel)
  # convert to uint8
  cv2.normalize(blurred, blurred, 0, 255, cv2.NORM_MINMAX)
  blurred = np.array(blurred, dtype=np.uint8)
  return blurred
img = cv2.imread('./9.jpg')
img_ = motion_blur(img)
cv2.imshow('Source image',img)
cv2.imshow('blur image',img_)
cv2.waitKey()

原图:

Opencv+Python实现图像运动模糊和高斯模糊的示例

运动模糊效果:

Opencv+Python实现图像运动模糊和高斯模糊的示例

高斯模糊:图像与二维高斯分布的概率密度函数做卷积,模糊图像细节

Opencv+Python实现高斯模糊,主要用到的函数是cv2.GaussianBlur():

# coding: utf-8
import numpy as np
import cv2
img = cv2.imread('./9.jpg')
img_ = cv2.GaussianBlur(img, ksize=(9, 9), sigmaX=0, sigmaY=0)
cv2.imshow('Source image',img)
cv2.imshow('blur image',img_)
cv2.waitKey()

高斯模糊效果:

Opencv+Python实现图像运动模糊和高斯模糊的示例

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
Python2.x版本中基本的中文编码问题解决
Oct 12 Python
举例讲解如何在Python编程中进行迭代和遍历
Jan 19 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
Python with用法:自动关闭文件进程
Jul 10 Python
Python中的类与类型示例详解
Jul 10 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
执行Python程序时模块报错问题
Mar 26 Python
Python爬虫获取豆瓣电影并写入excel
Jul 31 Python
python tkinter模块的简单使用
Apr 07 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 #Python
python中aioysql(异步操作MySQL)的方法
Apr 11 #Python
很酷的python表白工具 你喜欢我吗
Apr 11 #Python
2019 Python最新面试题及答案16道题
Apr 11 #Python
【python】matplotlib动态显示详解
Apr 11 #Python
python爬虫之验证码篇3-滑动验证码识别技术
Apr 11 #Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 #Python
You might like
PHP实现生成唯一会员卡号
2015/08/24 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
从0开始学Vue
2016/10/27 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
bootstrap+spring boot实现面包屑导航功能(前端代码)
2019/10/09 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
2019/10/15 Javascript
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python编程求质数实例代码
2018/01/31 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
Python函数中的可变长参数详解
2019/09/12 Python
python:动态路由的Flask程序代码
2019/11/22 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
python xlsxwriter模块的使用
2020/12/24 Python
党校自我鉴定范文
2013/10/02 职场文书
电子商务专业学生的自我鉴定
2013/11/28 职场文书
预备党员综合考察材料
2014/05/31 职场文书
建设工程授权委托书
2014/09/22 职场文书
婚宴领导致辞
2015/07/28 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏