python模糊圖片過濾的方法
更新時間:2018年12月14日 14:13:59 作者:digta
今天小編就為大家分享一篇python模糊圖片過濾的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
最近在做人臉識別清洗樣本的工作,發(fā)現(xiàn)經(jīng)過人臉對齊后存在部分圖片十分模糊,所以用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模糊圖片過濾的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用Python將圖片批量轉(zhuǎn)化成素描圖的過程記錄
萬能的Python真的是除了不會生孩子,其他的還真不在話下,下面這篇文章主要給大家介紹了關(guān)于如何利用Python將圖片批量轉(zhuǎn)化成素描圖的相關(guān)資料,需要的朋友可以參考下2021-08-08
Python利用PyMuPDF模塊實現(xiàn)快速轉(zhuǎn)換PDF文件
PDF是一種廣泛使用的文件格式,可以在任何設(shè)備上查看和打印,那么如何用Python和PyMuPDF制作你想要大小的PDF文件呢,本文就來和大家詳細(xì)講講2023-08-08
Python編程中time模塊的一些關(guān)鍵用法解析
這篇文章主要介紹了Python編程中time模塊的一些關(guān)鍵用法解析,像mktime和localtime以及gmtime這些常用方法都有講到,需要的朋友可以參考下2016-01-01
詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系
這篇文章主要介紹了詳解matplotlib中pyplot和面向?qū)ο髢煞N繪圖模式之間的關(guān)系,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

