Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
1.1. 原理,主要使用像素模糊后的差别会变小
通过计算横向前后俩点像素的差异。。然后累加即可。。
1.2. 具体流程
图片灰度化,这样可以只保留hsv分量了。。。然后读取v分量,就是明亮度了。。
Hs色相和饱和度全部去除了。。 比较v分量的差异即可。。
1.3. 提升性能 可以使用采样法即可。。
1.4. 实现代码
package com.attilax.img;
import java.awt.Color;
import java.awt.image.BufferedImage;
import com.attilax.io.filex;
import com.attilax.json.AtiJson;
import com.jhlabs.image.GrayscaleFilter;
public class DefinTest {
/**
* gray hsv 0,0,218 HSL 表示 hue(色相)、saturation(饱和度)、lightness(亮度),
* HSV表示 hue、saturation、value(色调) 而 HSB 表示 hue、saturation、brightness(明度)。
*
* @param args
*/
public static void main(String[] args) {
String i = "C:\\00clr\\1_gray.jpg";
long dfns = getDefinetionsSum(i);
String blu5 = "C:\\00clr\\2_gray.jpg";
long dfns_blu5 = getDefinetionsSum(blu5);
String blu9 = "C:\\00clr\\blur9_gray.jpg";
long dfns_blu9 = getDefinetionsSum(blu9);
System.out.println("bl0:" + dfns + ",bl5:" + dfns_blu5 + ",bl9:"
+ dfns_blu9);
}
private static long getDefinetionsSum(String i) {
BufferedImage src = imgx.toImg(i);
int sum = 0;
int wid = src.getWidth();
int h = src.getHeight();
for (int w = 0; w < wid; w++)
for (int y = 0; y < h; y++) {
int v = (int) imgx.getHsv(src, w, y).v;
try {
if (y + 1 > (h-1))
continue;
int clr_next = (int) imgx.getHsv(src, w, y + 1).v;
int tsa = Math.abs(v - clr_next);
sum = sum + tsa;
} catch (Exception e) {
System.out.println(e.getMessage()+" w-h:"+w+"-"+y);
}
}
return sum;
}
bl0:2083037,bl5:730898,bl9:600365
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结的更多相关文章
- Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理 1.1. 图像边缘一般都是通过对图像进行梯度运算来实现的1 1.2. Remark: 1 1.3. 1.失焦检测. 衡量画面模糊的主要方 ...
- OpenCV人脸识别LBPH算法源码分析
1 背景及理论基础 人脸识别是指将一个需要识别的人脸和人脸库中的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片中把人脸定位出来,完成的是搜寻 ...
- OpenCV人脸识别Eigen算法源码分析
1 理论基础 学习Eigen人脸识别算法需要了解一下它用到的几个理论基础,现总结如下: 1.1 协方差矩阵 首先需要了解一下公式: 共公式可以看出:均值描述的是样本集合的平均值,而标准差描述的则是样本 ...
- :OpenCV人脸识别Fisherface算法源码分析
https://blog.csdn.net/loveliuzz/article/details/73875904
- mahout算法源码分析之Collaborative Filtering with ALS-WR (四)评价和推荐
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 首先来总结一下 mahout算法源码分析之Collaborative Filtering with AL ...
- mahout算法源码分析之Collaborative Filtering with ALS-WR拓展篇
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 额,好吧,心头的一块石头总算是放下了.关于Collaborative Filtering with AL ...
- mahout算法源码分析之Collaborative Filtering with ALS-WR 并行思路
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. mahout算法源码分析之Collaborative Filtering with ALS-WR 这个算 ...
- diff.js 列表对比算法 源码分析
diff.js列表对比算法 源码分析 npm上的代码可以查看 (https://www.npmjs.com/package/list-diff2) 源码如下: /** * * @param {Arra ...
- [Spark内核] 第34课:Stage划分和Task最佳位置算法源码彻底解密
本課主題 Job Stage 划分算法解密 Task 最佳位置算法實現解密 引言 作业调度的划分算法以及 Task 的最佳位置的算法,因为 Stage 的划分是DAGScheduler 工作的核心,这 ...
随机推荐
- SQLServer : 几个特殊函数(RAND,CHECKSUM, NEWID)
这一篇我们来捋捋在T-SQL中可能会用到的几个特殊的函数 1. 随机数: RAND 返回从 0 到 1 之间的随机 float 值. 语法: RAND ( [ seed ] ) seed 提供种子值的 ...
- TIS100入门向攻略
前几天某QQ群有人推荐这个游戏,百度了下找到了贴吧下载,但是攻略好像没找到,B站到是有个入门视频介绍还满有用的. 入门的话强烈推荐先看完了解个大概 http://www.bilibili.com/vi ...
- Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean
1,bean 的配置 <bean id="helloWorld" class="com.yfy.HelloWorld"> <property ...
- multiple definition of `err_sys' 《UNIX环境高级编程》
本文地址:http://www.cnblogs.com/yhLinux/p/4079930.html 问题描述: [点击此处直接看解决方案] 在练习<UNIX环境高级编程>APUE程序清单 ...
- 关于mock server
这篇技术博客是在知乎上看到的 知乎js大神张云龙写的 这里贴过来记录下,如果侵权 请告知将及时删除. --------------------------- 为了更好的分工合作,让前端能在不依赖后端环 ...
- ListView之头部浮动效果
ListView 中有时需要在顶部固定一个浮动栏,当向上滑动 ListView 时,浮动栏固定在顶部,当向下滑动 ListView 到其 HeaderView 可见时,浮动栏成为ListView的一部 ...
- P1906联合权值
描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离. ...
- 网页中插入FLASH(swf文件)的html代码
一.简单插入flash图像<embed src="你的flash地址.swf"width="300" height="220"> ...
- Java学习笔记四——运算符
算术运算符 加减乘除(+.-.*./)就不说了. 求余运算符% 描述:第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数 注意:求余预算的结果不一定总是整数,当操作数是浮点数时,结果可 ...
- mysql 性能配置优化
修改mysql配置文件 my.cnf ,内容如下: [mysqld]datadir=/data/mysql/datasocket=/var/lib/mysql/mysql.sockuser=mysql ...