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发腾讯微博代码分享
Jan 10 Python
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
解决python大批量读写.doc文件的问题
May 08 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
解决Numpy中sum函数求和结果维度的问题
Dec 06 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
python实现快递价格查询系统
Mar 03 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
python爬虫scrapy基本使用超详细教程
Feb 20 Python
Python实现文本文件拆分写入到多个文本文件的方法
Apr 18 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 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文件怎么打开 如何执行php文件
2011/12/21 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
php检测文本的编码
2015/07/26 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
JavaScript格式化数字的函数代码
2010/11/30 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
Python读取mp3中ID3信息的方法
2015/03/05 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
Django多数据库联用实现方法解析
2020/11/12 Python
python中xlrd模块的使用详解
2021/02/01 Python
日期和时间问题
2015/01/04 面试题
十八届三中全会报告学习材料
2014/02/17 职场文书
骨干教师培训方案
2014/05/06 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis