去除由于对焦,运动等造成的模糊图像,所以在构建数据集的时候考虑用opencv对清晰的图片进行处理获得模糊的图片从而进行训练。

1) 运动模糊图像

一般来说,运动模糊的图像都是朝同一方向运动的,那么就可以利用cv2.filter2D函数。

import numpy as np

def motion_blur(image, degree=10, angle=20):

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

2) 对焦模糊

opencv提供了GaussianBlur函数(具体参见这里).

image = cv2.GaussianBlur(image, ksize=(degree, degree), sigmaX=0, sigmaY=0)

3) 噪点

其实就是在每个像素点添加随机扰动:

def gaussian_noise(image, degree=None):

row, col, ch = image.shape

mean = 0

if not degree:

var = np.random.uniform(0.004, 0.01)

else:

var = degree

sigma = var ** 0.5

gauss = np.random.normal(mean, sigma, (row, col, ch))

gauss = gauss.reshape(row, col, ch)

noisy = image + gauss

cv2.normalize(noisy, noisy, 0, 255, norm_type=cv2.NORM_MINMAX)

noisy = np.array(noisy, dtype=np.uint8)

return noisy

python实现运动模糊图像_python opencv生成模糊图像相关推荐

  1. python人脸照片分类_Python OpenCV 人脸识别(一)

    前面介绍了Numpy模块,下面再介绍一个OpenCV模块,就基于这两个库看一下当下很火的人工智能是如何实现的,我们介绍几个:人脸识别(当下非常火的).音视频操作等等.今天先介绍一下静态图片的人脸识别, ...

  2. python ocr 识别车牌_python+opencv+TESSERT-OCR实现车牌的检测与识别

    python+opencv+TESSERT-OCR实现车牌的检测与识别 开学花了十天时间0基础搞出来的,分享给大家,如果有什么错误希望大家给我指正.python师从小甲鱼,opencv师从贾志刚,B站 ...

  3. python opencv生成模糊图像

    去除由于对焦,运动等造成的模糊图像,所以在构建数据集的时候考虑用opencv对清晰的图片进行处理获得模糊的图片从而进行训练. 1) 运动模糊图像 一般来说,运动模糊的图像都是朝同一方向运动的,那么就可 ...

  4. python颜色识别原理_python+opencv实现颜色检测、轮廓检测、颜色追踪

    准备工作 python配置numpy和openCv库 读取图像和视频图像cv2.imread(路径) cv2.imshow(窗口名称,输出对象) cv2.waitkey(等待时间)import cv2 ...

  5. 如何用python绘制灰度直方图_Python Opencv任意形状目标检测并绘制框图实例

    Python Opencv检测并绘制框图 opencv 进行任意形状目标识别,供大家参考,具体内容如下 工作中有一次需要在简单的图上进行目标识别,目标的形状不固定,并且存在一定程度上的噪声影响,但是噪 ...

  6. python图片旋转脚本_Python+OpenCV 实现图片无损旋转90°且无黑边

    0. 引言 有如上一张图片,在以往的图像旋转处理中,往往得到如图所示的图片. 然而,在进行一些其他图像处理或者图像展示时,黑边带来了一些不便.本文解决图片旋转后出现黑边的问题,实现了图片尺寸不变的旋转 ...

  7. python制作ios游戏_python自动化生成IOS的图标

    本文实例为大家分享了python自动化生成IOS的图标,供大家参考,具体内容如下 每次上架之前都要生成十几个图片感觉无聊麻烦,考虑使用脚本处理 脚本使用python 和一部分shell 处理的,pyt ...

  8. python输入ip地址_python批量生成本地ip地址的方法

    本文实例讲述了python批量生成本地ip地址的方法.分享给大家供大家参考.具体分析如下: 这段代码用于在本地计算机上生成本地ip地址绑定到网卡,生成的是一个bat的批处理文件,运行此批处理文件,可以 ...

  9. python 批量创建变量_Python批量生成和调用变量

    这几天写代码中遇到的一个常见问题,在Python 中如何批量的生成一些变量,如生成变量X1, X2, X3 ,并在后续的方法中调用,完成赋值.取值等操作.这个问题也算是常见的吧,之前遇到过,也不了了之 ...

最新文章

  1. ubuntu su进入root权限
  2. Eslint中no-undef的检查报错
  3. spring boot多数据源配置(mysql,redis,mongodb)实战
  4. 最容易被盗的密码,你中了么?
  5. mysql字段中有逗号隔开_在MySQL字段中使用逗号分隔符
  6. android 版本权限差别,android apk 的root 权限和USB adb 权限的区别
  7. 团队作业第4次-项目需求分析
  8. 欧洲杯直播助PPTV日均流量登顶视频行业首位
  9. C/C++之常用字符串比较总结
  10. zabbix 监控mongodb
  11. Linux 终端显示 Git 当前所在分支 1
  12. java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
  13. RestTemplate 了解和学习
  14. Mysql外键的变种 三种关系
  15. 3802.消灭数组-AcWing题库
  16. idc机房运维巡检_技本功|数据安全之IDC数据容灾设计实现
  17. Teststand自定义测试报告
  18. 1月好书推荐-8本值得读的好书,让你受益终生
  19. 怎么修改手机app服务器数据库,手机app服务器数据库
  20. android aidl混淆代码,Android代码混淆

热门文章

  1. [激光原理与应用-44]:《焊接质量检测》-1- 焊接质量阶段性检测
  2. 关于对CC系列知识共享许可证【CC BY-SA 4.0】 的理解及整理
  3. 智慧路灯建设:智能路灯管理系统对智慧城市的重要性
  4. linux内核之alsa,Linux系统中的虚拟调音台Alsamixer的使用
  5. illustrator下载_如何使用Illustrator制作动画gif
  6. 图像格式-RAW、RGB、YUV
  7. 浅析ORACLE ERP系统维护方法
  8. [新华三java岗]笔试
  9. 华中农业大学c语言程序设计在线作业答案,线性代数历年考试卷资料(华南理工大学)华中农业大学试卷 答案.pdf...
  10. ASP.NET Identity 三(转载)