python黄色認証プログラム
5360 ワード
最近お客様がサーバーにゴミの画像をアップロードして、普通の画像と混ぜて、10 W枚ぐらいの数があって、3時間ぐらい経って2000枚以上をめくったとき、指を抜いて、気分が悪くて、無理に頭の上で、プログラムを書いて鑑別しましょう.しかし、どうしますか.ネット上で資料をめくって同僚の協力を経て、ついにこの命中率の高くないプログラムを完成させました:
コードは次のとおりです.
暇な时間にpythonを勉強して、最適化を期待して、鑑黄率を100%に高めて、すべての会社の利益と公共のサイバーセキュリティに危害を及ぼすことを根絶することを努力しています.
転載先:https://www.cnblogs.com/itor/p/7687013.html
コードは次のとおりです.
# -*- coding: utf8 -*-
# Author:wxq
#python 2.7
import sys
import os
import os.path as p
import shutil
import _io
from collections import namedtuple
from PIL import Image
def check_porn(file):
img = Image.open(file).convert('YCbCr')
w, h = img.size
data = img.getdata()
cnt = 0
for i, ycbcr in enumerate(data):
y, cb, cr = ycbcr
if 86 <= cb <= 117 and 140 <= cr <= 168:
cnt += 1
if cnt > w * h * 0.1:
return True
else:
return False
if __name__ == '__main__':
imgdir = sys.argv[1]
dstdir = sys.argv[2]
if imgdir == '' or dstdir == '':
raise Exception(' , : porn_check.py ')
if p.isdir(imgdir):
filelist = [p.join(imgdir, file) for file in os.listdir(imgdir)]
else:
raise Exception(' , ')
sys.exit(1)
if not p.isdir(dstdir):
raise Exception(' , ')
for file in filelist:
if p.isfile(file):
is_porn = check_porn(file)
if is_porn:
print(file, 'is porn')
shutil.move(file, dstdir)
else:
print(file, 'is not porn')
暇な时間にpythonを勉強して、最適化を期待して、鑑黄率を100%に高めて、すべての会社の利益と公共のサイバーセキュリティに危害を及ぼすことを根絶することを努力しています.
転載先:https://www.cnblogs.com/itor/p/7687013.html