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实现的简单hangman游戏实例
Jun 28 Python
Python 专题六 局部变量、全局变量global、导入模块变量
Mar 20 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
python调用百度语音REST API
Aug 30 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
Python函数装饰器实现方法详解
Dec 22 Python
django rest framework vue 实现用户登录详解
Jul 29 Python
python修改字典键(key)的方法
Aug 05 Python
python自动化实现登录获取图片验证码功能
Nov 20 Python
Django操作session 的方法
Mar 09 Python
django中related_name的用法说明
May 20 Python
selenium+超级鹰实现模拟登录12306
Jan 24 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四种基础算法代码实例
2013/10/29 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
php正则表达式学习笔记
2015/11/13 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
小程序实现投票进度条
2019/11/20 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
深入理解Python装饰器
2016/07/27 Python
Python多进程fork()函数详解
2019/02/22 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
小班幼儿评语大全
2014/04/30 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
大学同学聚会感言
2015/07/30 职场文书
关爱空巢老人感想
2015/08/11 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫