python模糊图片过滤的方法

 更新时间:2018年12月14日 14:13:59   作者:digta  
今天小编就为大家分享一篇python模糊图片过滤的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

最近在做人脸识别清洗样本的工作,发现经过人脸对齐后存在部分图片十分模糊,所以用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如何与前端交互举例详解

    在Web开发中前端与后端之间的数据交互,下面这篇文章主要给大家介绍了关于python如何与前端交互的相关资料,文章通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • Python pandas 列转行操作详解(类似hive中explode方法)

    Python pandas 列转行操作详解(类似hive中explode方法)

    这篇文章主要介绍了Python pandas 列转行操作详解(类似hive中explode方法),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python开发必备知识内存管理与垃圾回收

    Python开发必备知识内存管理与垃圾回收

    Python是一种高级编程语言,因其简洁而强大而备受欢迎,然而如其他编程语言一样,Python也面临着内存管理的挑战,在Python中,垃圾回收是一项关键任务,用于自动释放不再使用的内存,以避免内存泄漏,本文将介绍Python中的垃圾回收机制,以及如何通过优化代码来提高性能
    2023-11-11
  • Python Pandas 箱线图的实现

    Python Pandas 箱线图的实现

    这篇文章主要介绍了Python Pandas 箱线图的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python获取局域网占带宽最大3个ip的方法

    python获取局域网占带宽最大3个ip的方法

    这篇文章主要介绍了python获取局域网占带宽最大3个ip的方法,涉及Python解析URL参数的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Centos5.x下升级python到python2.7版本教程

    Centos5.x下升级python到python2.7版本教程

    这篇文章主要介绍了Centos5.x下升级python到python2.7版本教程,本文使用编译安装方式,并配置了一系列需要更改的配置项,需要的朋友可以参考下
    2015-02-02
  • Python配置文件管理之ini和yaml文件读取的实现

    Python配置文件管理之ini和yaml文件读取的实现

    本文主要介绍了Python配置文件管理之ini和yaml文件读取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python入门之modf()方法的使用

    Python入门之modf()方法的使用

    这篇文章主要介绍了Python入门之modf()方法的使用,是Python学习当中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python 函数简单易理解版

    Python 函数简单易理解版

    本文将用简单易解的描述方法对Python 函数做一个详情介绍,感兴趣的朋友可以参考下文
    2021-08-08
  • 恢复百度云盘本地误删的文件脚本(简单方法)

    恢复百度云盘本地误删的文件脚本(简单方法)

    下面小编就为大家带来一篇恢复百度云盘本地误删的文件脚本(简单方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10

最新评论