python模糊图片过滤的方法


Posted in Python onDecember 14, 2018

最近在做人脸识别清洗样本的工作,发现经过人脸对齐后存在部分图片十分模糊,所以用opencv滤了一下。

原理就是使用了cv2.Laplacian()这个方法,代码如下。图片越模糊,imageVar的值越小,图像越模糊。

#-*-coding:utf-8-*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import os
import cv2
import shutil

THRESHOLD = 30.0

dst_root = r'/media/unionpay/0009FFAB000A9861/CASIA&KFZX_CLEAR'
for fpath, dirs, fs in os.walk('/media/unionpay/0009FFAB000A9861/CASIA&KFZX'):
 i = 0
 for dir in dirs:
  i += 1
  if i%100 == 0:
   print (str(i)+'folders processed current:'+dir)
  abs_dir = os.path.join(fpath, dir)
  for _, __, fs in os.walk(abs_dir):
   clear_img_list = []
   for f in fs:
    item = os.path.join(_, f)
    image = cv2.imread(os.path.join("/media/unionpay/0009FFAB000A9861/CASIA&KFZX/0000447", item))
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    imageVar = cv2.Laplacian(gray, cv2.CV_64F).var()
    if not imageVar < THRESHOLD:
     clear_img_list.append(item)
   dst_folder = os.path.join(dst_root, dir)
   if len(clear_img_list) >= 15:
    if not os.path.exists(dst_folder):
     os.mkdir(dst_folder)
    for item in clear_img_list:
     dst_path = os.path.join(dst_folder, item.split('/')[-1])
     shutil.copy(item, dst_path)

以上这篇python模糊图片过滤的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
Python ldap实现登录实例代码
Sep 30 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
keras用auc做metrics以及早停实例
Jul 02 Python
python区块链持久化和命令行接口实现简版
May 25 Python
python 随机打乱 图片和对应的标签方法
Dec 14 #Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 #Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 #Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 #Python
用python爬取租房网站信息的代码
Dec 14 #Python
从运行效率与开发效率比较Python和C++
Dec 14 #Python
对python产生随机的二维数组实例详解
Dec 13 #Python
You might like
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
PHP递归的三种常用方式
2019/02/28 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
Python计时相关操作详解【time,datetime】
2017/05/26 Python
关于Python中浮点数精度处理的技巧总结
2017/08/10 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
2016/11/20 面试题
一套比较完整的软件测试人员面试题
2012/05/13 面试题
服装厂厂长职责
2013/12/16 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
先进基层党组织材料
2014/12/25 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书