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实现Linux下守护进程的编写方法
Aug 22 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
基于python神经卷积网络的人脸识别
May 24 Python
浅析Python四种数据类型
Sep 26 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
Python 绘制酷炫的三维图步骤详解
Jul 12 Python
python数据归一化及三种方法详解
Aug 06 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
python自动化测试三部曲之unittest框架的实现
Oct 07 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
Oct 28 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 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 8小时时间差的解决方法小结
2009/12/22 PHP
php模板中出现空行解决方法
2011/03/08 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
Laravel5中contracts详解
2015/03/02 PHP
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
javascript读写json示例
2014/04/11 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
Javascript编写俄罗斯方块思路及实例
2015/07/07 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
python使用matplotlib画饼状图
2018/09/25 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
如何写出好的Java代码
2014/04/25 面试题
电钳专业个人求职信
2014/01/04 职场文书
列车长先进事迹材料
2014/01/25 职场文书
税务干部鉴定材料
2014/02/11 职场文书
小学生安全演讲稿
2014/04/25 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS