LBP(Local Binary Pattern) 局部二值特征是一种纹理描述子,它度量和提取图像的局部纹理信息,对旋转和光照具有不变性。



min_fea = set()
def make_str(value):
res_str = ''
for i in range(8):
r = value % 2
value = value >> 1
res_str = str(r) + res_str
return res_str
def get_num1(min_fea, num):
res_list = list()
for str_1 in min_fea:
if str_1.count('1') == num:
res_list.append(str_1)
return res_list
for number in range(256):
data_list = list()
temp = number
for i in range(8):
data_list.append(temp)
l = temp % 2
temp = (temp >> 1) + 128 * l
min_value = min(data_list)
res_str = make_str(min_value)
min_fea.add(res_str)
total_num = 0
for index in range(9):
sub_num = len(get_num1(min_fea, index))
print('1 count', index, 'num', sub_num)
total_num += sub_num
print('total feature num ', total_num)
pass1 count 0 num 1
1 count 1 num 1
1 count 2 num 4
1 count 3 num 7
1 count 4 num 10
1 count 5 num 7
1 count 6 num 4
1 count 7 num 1
1 count 8 num 1
total feature num 36