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字符串加密解密的三种方法分享(base64 win32com)
Jan 19 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
Python 微信爬虫完整实例【单线程与多线程】
Jul 06 Python
Python全栈之列表数据类型详解
Oct 01 Python
Python使用matplotlib绘制Logistic曲线操作示例
Nov 28 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
Python 连接 MySQL 的几种方法
Sep 09 Python
Python logging日志库空间不足问题解决
Sep 14 Python
Selenium 安装和简单使用的实现
Dec 04 Python
python 实现Harris角点检测算法
Dec 11 Python
基于python定位棋子位置及识别棋子颜色
Jul 26 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
js计算任意值之间随机数的方法
2015/01/16 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
Django工程的分层结构详解
2019/07/18 Python
django基于restframework的CBV封装详解
2019/08/08 Python
django之自定义软删除Model的方法
2019/08/14 Python
python常用运维脚本实例小结
2020/02/14 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
高三自我鉴定
2013/10/23 职场文书
电大本科自我鉴定
2014/02/05 职场文书
《问银河》教学反思
2014/02/19 职场文书
大班上学期幼儿评语
2014/04/30 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
美丽心灵观后感
2015/06/01 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
Python Parser的用法
2021/05/12 Python