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中实现定制类的特殊方法总结
Sep 28 Python
Python中字符串的格式化方法小结
May 03 Python
Python理解递归的方法总结
Jan 28 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
使用Python进行中文繁简转换的实现代码
Oct 18 Python
详解Python中namedtuple的使用
Apr 27 Python
Python之变量类型和if判断方式
May 05 Python
Keras—embedding嵌入层的用法详解
Jun 10 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 Python
pytorch损失反向传播后梯度为none的问题
May 12 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
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
原生js实现放大镜
2017/02/20 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
Python实现基于HTTP文件传输实例
2014/11/08 Python
Python实现的最近最少使用算法
2015/07/10 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
浅谈python常用程序算法
2019/03/22 Python
Python画图高斯分布的示例
2019/07/10 Python
python用requests实现http请求代码实例
2019/10/31 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
女性时尚在线:IVRose
2019/02/23 全球购物
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
商场租赁意向书
2014/07/30 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
Python anaconda安装库命令详解
2021/10/16 Python