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抓取网页中图片并保存到本地
Dec 01 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
python3 mmh3安装及使用方法
Oct 09 Python
下载官网python并安装的步骤详解
Oct 12 Python
pytorch中的自定义数据处理详解
Jan 06 Python
python可视化text()函数使用详解
Feb 11 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
Apr 14 Python
python 检测nginx服务邮件报警的脚本
Dec 31 Python
详解在OpenCV中如何使用图像像素
Mar 03 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
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
Firefox中使用outerHTML的2种解决方法
2014/06/07 Javascript
对比分析json及XML
2014/11/28 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python中遍历文件的3个方法
2014/09/02 Python
python 编写简单网页服务器的实例
2018/06/01 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
数控技术专业毕业自荐书范文
2014/02/05 职场文书
师说教学反思
2014/02/07 职场文书
应届生求职信
2014/05/31 职场文书
政工例会汇报材料
2014/08/26 职场文书
走群众路线学习笔记
2014/11/06 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js