最近由于学习的需要,最LBP做了一点研究,是一种用来描述图像局部纹理特征的算子。
主要参考链接:
http://blog.csdn.net/pi9nc/article/details/18623971
博主在其文章中对LBP及其几种模式都做了相关的讲解。我在这主要针对我所遇到的问题做一记录,便于以后查看和与大家的交流。
Uniform LBP源代码
#include <opencv2/core/core.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
//计算1到0或0到1的改变次数
int getHopCount(int i)
{
int a[8] = {0};
int cnt = 0;
int k = 7;
while(i) //将i进行逐为的提取,把0-255整数变为8位二进制。每次提取最低位,然后将i右移以为再次提取一位
{
a[k] = i&1;
i = i >> 1;
--k;
}
for(k = 0; k < 7; k++)
{
if(a[k] != a[k+1])