Atitit.论图片类型 垃圾文件的识别与清理  流程与设计原则 与api概要设计 v2 pbj 1. 俩个问题::识别垃圾文件与清理策略 2. 如何识别垃圾图片 3. 垃圾图片文件指纹库 4. 人工识别垃圾图片策略 5. 清理策略 6. Code

Atitit.论图片类型 垃圾文件的识别与清理  流程与设计原则 与api概要设计 v2 pbj

 

 

1俩个问题::识别垃圾文件与清理策略1

2如何识别垃圾图片1

2.1. 体积过小文件<10kb1

2.2. 增加扩展名对于无扩展名文件1

2.3. 清理非图片(bmp,jpg,jpeg,png)的文件2

2.4. 尺寸过小图片(210*1502

2.5. 清理广告图片(高度宽度不成比例)超长超宽图片2

2.6. 清理重复图片(此结果不能加入指纹库)2

2.7. 非本类别的图片(人工识别)2

3垃圾图片文件指纹库3

3.1. 根据垃圾文件指纹库(模式结果固化)3

3.2. 根据垃圾文件路径名称库(加快性能比对速度,md5可能比较慢)3

4人工识别垃圾图片策略3

5清理策略3

6Code3

6.1. 文件去重4

 

 

 

 

2. 如何识别垃圾图片

2.1. 体积过小文件<10kb

2.2. 增加扩展名对于无扩展名文件

package com.attilax.clr;

 

import com.attilax.clr.imp.MoveExcuter;

import com.attilax.clr.imp.NoPicReconer;

import com.attilax.clr.imp.tooMinSizePicClrerPartImp;

import com.attilax.clr.imp.tooMiniPixPicClrerPartImp;

 

public class ClrerPicClrer extends ClrerAbs {

 

 

public static void main(String[] args) {

ClrerPicClrer c=new ClrerPicClrer();

c.dir="d:\ati\isheo";

c.dir="D:\ati\p2015\pic_p";

 

NoExtnameCheckerImp  neImp=new NoExtnameCheckerImp();

c.PreProcessor=neImp;

 

c.traveDir(c.dir);

System.out.println("--f");

2.3. 清理非图片(bmp,jpg,jpeg,png)的文件

Gif js 

2.4. 尺寸过小图片(210*150

2.5. 清理广告图片(高度宽度不成比例)超长超宽图片

长宽比大于2的图片

2.6. 清理重复图片(此结果不能加入指纹库)

部分重复文件是广告文件,所以容易重复

 

2.7. 非本类别的图片(人工识别)

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

3. 垃圾图片文件指纹库

3.1. 根据垃圾文件指纹库(模式结果固化)

3.2. 根据垃圾文件路径名称库(加快性能比对速度,md5可能比较慢)

 

4. 人工识别垃圾图片策略

不好的isho

不能likepic

误删除的文件专门集中放在isho_manu文件夹中,人工处理

 

 

 

5. 清理策略

生成清理脚本(或者直接java程序模式)

移动到制定文件夹(推荐)

 

 

6. Code

AtibrowPrj

public class ClrerPicClrer extends ClrerAbs {

 

 

public static void main(String[] args) {

ClrerPicClrer c=new ClrerPicClrer();

c.dir="d:\ati\isheo";

//c.GabFileRecongers.add(new NoPicReconer());

tooMiniPixPicClrerPartImp ClrerPartImp = new tooMiniPixPicClrerPartImp();

ClrerPartImp.dir=c.dir;

ClrerPartImp.targetDir="d:\ati\tooMiniPixPic_files";

c.IClrerParts.add(ClrerPartImp);

tooMinSizePicClrerPartImp tmsc=new tooMinSizePicClrerPartImp();

tmsc.dir=c.dir;

tmsc.targetDir="d:/ati/tooMinSize_files";

c.IClrerParts.add(tmsc);

 

c.traveDir(c.dir);

System.out.println("--f");

}

 

 

 

6.1. 文件去重

DeduliAbs_ByMoveToNewFolder.java