Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结
Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结
1.1. 五中滤镜的分别效果。。
/AtiPlatf_cms/src/com/attilax/clr/skinfltAll.java
1.2. 基于肤色的图片分类
/AtiPlatf_cms/src/com/attilax/clr/moveBySkinLow.java
生成所有图片的肤色百分比,存入csv文件。。
然后可以移动前面的20%的文件,人工二次检查
可以方便的把不便上传的文件与日益上传的文件区分开。。
1.3. 性能提升
图像处理性能比较慢,图像的处理比较消耗cpu,不知可否有方法提升??
或许可以缩小图片到标准化大小,然后点数吗??
大概100张图片需要10s。。1w张图片就需要 10分钟。。
1.4. --code
private static void getBlackPercentTxt(String d) throws IOException {
ExecutorService urlPool = Executors.newFixedThreadPool(3);
final List<Map> li = Lists.newArrayList();
Function<String, Object> closure = (String f) -> {
Runnable command = () -> {
Map m = Maps.newHashMap();
m.put("f", f);
BufferedImage src = imgx.toImg(f);
SkinFilter1 SkinFilter1a = new SkinFilter1();
BufferedImage dest = SkinFilter1a.filter(src, null);
float blackPoints = imgx.getBlackPercent(dest);
m.put("blkpst", blackPoints);
li.add(m);
n++;
System.out.println(n);
};
urlPool.execute(command);
return f;
};
//
// tOrder(li);
// li.sort((Map m)->{
//
// });
dirx.traveV3(d, closure);
urlPool.shutdown();
try {
urlPool.awaitTermination(20, TimeUnit.HOURS);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//urlPool.sh
new Linq(li).orderby("blkpst", "asc");
filex fx= new filex("c:\\blkpst_asc.txt");
for (Map map : li) {
String line=map.get("blkpst").toString()+","+map.get("f").toString();
fx.appendLine_flush_safe(line);
}
fx.closeSF();
}
参考
肤色检测 - shangyaowei的专栏 - 博客频道 - CSDN.NET.html
肤色检测算法 - 基于不同颜色空间简单区域划分的皮肤检测算法 - songhhll的专栏 - 博客频道 - CSDN.NET.html
基于肤色的人脸检测_PerpLtx1988_新浪博客.html
人脸检测---基于肤色检测的实现.html
五种基于RGB色彩空间统计的皮肤检测算法 - 流浪的鱼 - 博客频道 - CSDN.NET.html
java 肤色检测 - epleone的专栏 - 博客频道 - CSDN.NET.html
Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
Atitit 图像处理--图像分类 模式识别 肤色检测识别原理 与attilax的实践总结的更多相关文章
- Atitit 图像处理 灰度图片 灰度化的原理与实现
Atitit 图像处理 灰度图片 灰度化的原理与实现 24位彩色图与8位灰度图 首先要先介绍一下24位彩色图像,在一个24位彩色图像中,每个像素由三个字节表示,通常表示为RGB.通常,许多24位彩色图 ...
- titit. 深入理解 内聚( Cohesion)原理and attilax大总结
atitit. 深入理解 内聚( Cohesion)原理and attilax大总结 1.1. 内聚的概念 1 1.1.1. 高内聚模式关于这个问题给出的答案是:分配职责,使其可保持 ...
- Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理 1.1. 图像边缘一般都是通过对图像进行梯度运算来实现的1 1.2. Remark: 1 1.3. 1.失焦检测. 衡量画面模糊的主要方 ...
- Atitit ocr识别原理 与概论 attilax总结
Atitit ocr识别原理 与概论 attilax总结 1.1. Ocr的过程与流程1 1.2. OCR不同技术细分略有不同,但大概原理是一样的. 即主要技术过程是:二值化(又叫归一化)----- ...
- Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结 1.1. 原理,主要使用像素模糊后的差别会变小1 1.2. 具体流程1 1.3. 提升性能 可以使用采样法即可..1 ...
- Atitit 图像处理 深刻理解梯度原理计算.v1 qc8
Atitit 图像处理 深刻理解梯度原理计算.v1 qc8 1.1. 图像处理 梯度计算 基本梯度 内部梯度 外部梯度 方向梯度1 2. 图像梯度就是图像边缘吗?2 1.1. 图像处理 梯度计算 ...
- javacpp-opencv图像处理系列:国内车辆牌照检测识别系统(万份测试车牌识别准确率99.7%以上,单次平均耗时39ms)
javaCV图像处理系列: 一.javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 二.javaCV图像处理之2:实时视频添 ...
- Win8 Metro(C#)数字图像处理--2.35图像肤色检测算法
原文:Win8 Metro(C#)数字图像处理--2.35图像肤色检测算法 [函数名称] 肤色检测函数SkinDetectProcess(WriteableBitmap src) [算法说明] ...
- Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx
Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...
随机推荐
- 原生js-日历插件
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 谁动了我的特征?——sklearn特征转换行为全记录
目录 1 为什么要记录特征转换行为?2 有哪些特征转换的方式?3 特征转换的组合4 sklearn源码分析 4.1 一对一映射 4.2 一对多映射 4.3 多对多映射5 实践6 总结7 参考资料 1 ...
- Bootstrap自带的一些预定义的按钮颜色
浅蓝色 btn-info 被用在那些用户可能会采取的操作上. 红色btn-danger被用来提醒用户该操作具有“破坏性”,例如删除一张猫的图片.
- 转行IT行业的心路历程2
2011/07-2016/12 11年毕业之后阴差阳错的到了宁波慈星股份,学习了针织机械.当初的想法很简单从沈阳到南方,因为南方小厂多机会多,因为我的目标就是当老板(呵呵,大部分的人的目标都是吧,现在 ...
- java.lang.RuntimeException: Method setUp in android.test.ApplicationTestCase not mocked. See http://g.co/androidstudio/not-mocked for details.
解决: build.gradle里加入: android { testOptions { unitTests.returnDefaultValues = true } }
- Linux内核--网络栈实现分析(五)--传输层之UDP协议(上)
本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/7532512 更多请看专栏, ...
- redis持久化以及主从服务器的配置
作者:silenceper 日期:2013-10-03 原文地址:http://silenceper.com/archives/959.html redis 与memcached 最大的一个区别就是R ...
- spark on centos6.5 安装
第一步在centos 6.5上安装java 运行环境 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-18 ...
- Magicodes.Shop——版本历史
Magicodes.Shop为湖南心莱信息科技有限公司(xin-lai.com)Magicodes系列产品之一. 产品中引用的Magicodes系列Nuget包的开源库地址为:https://gith ...
- 需要知道关于struct的一些事情
前言 重构代码的时候,会遇到长参数的方法,此时就需要使用“引入参数对象”来封装这些参数.大多数时候,这些参数都是简单类型,而且所有参数的值占用的空间也不是非常的大,此时使用对象真的好吗?对象的特性是堆 ...