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字典多键值及重复键值的使用方法(详解)
Oct 31 Python
Anaconda入门使用总结
Apr 05 Python
python实现图片批量压缩程序
Jul 23 Python
详解Python使用Plotly绘图工具,绘制甘特图
Apr 02 Python
python 返回一个列表中第二大的数方法
Jul 09 Python
pytorch 状态字典:state_dict使用详解
Jan 17 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
Python MySQLdb 执行sql语句时的参数传递方式
Mar 04 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
Mar 09 Python
Python爬虫爬取博客实现可视化过程解析
Jun 29 Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 Python
Python Unittest原理及基本使用方法
Nov 06 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导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
php中simplexml_load_file函数用法实例
2014/11/12 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
javascript实现下雨效果
2017/03/27 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
详解react-redux插件入门
2018/04/19 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python实现多属性排序的方法
2018/12/05 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
2019/04/05 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
使用python求解二次规划的问题
2020/02/29 Python
python+OpenCV实现图像拼接
2020/03/05 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
大学生简历中个人的自我评价
2013/10/06 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
学生安全承诺书
2014/05/22 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
送达通知书
2015/04/25 职场文书
党员证明信
2015/06/19 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
Java Spring读取和存储详细操作
2022/08/05 Java/Android