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 os模块介绍
Nov 30 Python
Python和GO语言实现的消息摘要算法示例
Mar 10 Python
Python实现二叉堆
Feb 03 Python
python 写的一个爬虫程序源码
Feb 28 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
解决Python print输出不换行没空格的问题
Nov 14 Python
使用CodeMirror实现Python3在线编辑器的示例代码
Jan 14 Python
python中aioysql(异步操作MySQL)的方法
Apr 11 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
python excel和yaml文件的读取封装
Jan 12 Python
Python 线程池模块之多线程操作代码
May 20 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 函数执行效率的小比较
2010/10/17 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
js 数组操作之pop,push,unshift,splice,shift
2014/01/29 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
关于element的表单组件整理笔记
2021/02/05 Javascript
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
python super用法及原理详解
2020/01/20 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
Notino法国:购买香水和化妆品
2019/04/15 全球购物
365 Tickets英国:全球景点门票
2019/07/06 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
初一科学教学反思
2014/01/27 职场文书
绩效工资实施方案
2014/03/15 职场文书
给公司的建议书范文
2014/05/13 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
消防演习感想
2015/08/10 职场文书
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
Django项目如何正确配置日志(logging)
2021/04/29 Python
python中tkinter复选框使用操作
2021/11/11 Python