判断LBP值是否为uniform
来源:互联网 发布:facebook自动加人软件 编辑:程序博客网 时间:2024/06/07 01:05
LBP值是0~255之间的数值,uniform指的是其二进制形式的翻转次数是否超过2次,比如"00001110" 为unifom,而“00110011”不是uniform.
#include <iostream>using namespace std;//#define _DEBUG_INFOvoid printBinary(const unsigned char val){for(int i = 7; i >= 0; i--){if(val & (1 << i))cout << "1";elsecout << "0";}}bool IsUniform(const unsigned char val){int bit = 0;int last_bit = 0;int change_time = 0;if(val & (1 << 7))bit = 1;elsebit = 0;last_bit = bit;for(int i = 6; i >= 0; i--){if(val & (1 << i))bit = 1;elsebit = 0;if(bit != last_bit)change_time ++;last_bit = bit;}#ifdef _DEBUG_INFOprintf("change_time = %d\n", change_time);#endif //_DEBUG_INFOif(change_time <= 2)return true;elsereturn false;}int uniform_table[256] = {1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1,};int main(int argc, char* argv[]){int val = atoi(argv[1]);printBinary(val);cout << endl;if(IsUniform(val))cout << "Uniform" << endl;elsecout << "Not uniform" << endl;printf("uniform_table[%d] = %d\n", val, uniform_table[val]);//int uniform_cnt = 0;//for(int i = 0; i <= 255; i++){//if(IsUniform(i)){//cout << "1, ";//uniform_cnt ++;//}//else//cout << "0, ";//if((i+1)%16 == 0)//cout << endl;//}//cout << "\n uniform_cnt = " << uniform_cnt << endl;}
函数IsUniform判断某LBP值是否为uniform。最后列出了一个uniform_table直接查询某LBP值是否为uniform.
0 0
- 判断LBP值是否为uniform
- LBP uniform pattern
- ULBP(uniform LBP) c++代码
- 判断值是否为undefined
- 判断值是否为undefined
- 值判断是否为空
- LBP, Uniform LBP 等价模式个数的推导
- LBP中uniform的58种模式
- 均匀(uniform)LBP自学总结
- 判断字段的值是否为空
- smarty判断值是否为空
- 如何判断一个值 是否为正整数
- 判断表单的值是否为数字
- c# 判断 值 是否为NUll
- c# 判断 值 是否为NUll
- JS输入值是否为判断正整数
- 判断输入的值是否为数字
- js判断值是否为空
- 投资者看好hadoop的六大理由
- js this 的介绍
- interface 产生常量群
- [Git]04 如何使用标签
- 新浪云平台部署Java代码
- 判断LBP值是否为uniform
- 利用SqlHelper.cs实现Web程序对数据库的增、删、改等操作
- Android 自定义View 一般View定义
- Java 利用 Socket 实现服务器客户端聊天
- [Git]05 如何使用分支
- Android 入门 - 定制开机画面
- 关于mysql 隐式转换的一个小问题
- autotool总结
- Emmet的高级功能与使用技巧