Uniform LBP(均匀模式LBP)跳变小于等于2的数

1 篇文章 0 订阅
1 篇文章 0 订阅

Uniform LBP均匀LBP跳变小于等于2的数,用python实现,代码如下:

import numpy as np
l = np.zeros(58, dtype=int)
m = []
a = -1
for i in range(256):
    bit = '{:08b}'.format(i)  # 二进制化
    arry = []  # 二进制生成数组
    count = 0  # 计数变化次数
    # 把字符串变为数组方便统计变化次数
    for x in range(len(bit)):
        arry.append(int(bit[x]))
    #print(arry)
    first = arry[0]  # 数组第一个为first,与之后的比较
    for j in range(1, len(arry)):
        if arry[j] != first:  # 如果变化,计数单位加1
            count += 1
            first = arry[j]  # 并且把变化的值重新赋值
    #print(count)
    if count <= 2:  # 如果变化次数大于3,则归为59位
        a += 1
        #print(i)
        l[a] = i
print(l)

运行结果:

[  0   1   2   3   4   6   7   8  12  14  15  16  24  28  30  31  32  48 56  60  62  63  64  96  112  120  124  126  127  128  129  131 135  143  159  191  192  193  195  199  207  223  224  225  227  231  239  240  241  243  247  248  249  251  252 253  254  255]

上面这些数就是跳变结果小于等于2的数,共有58个 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值