Local Binary Pattern

确实够简单。。。先写个代码在这儿,空了再弄

#include <opencv2/opencv.hpp>
#include <iostream>
#include <vector> using namespace std;
using namespace cv;
void LBP(const Mat& src , Mat& dst) {
int rows =src.rows;
int cols = src.cols; auto expand = [&](int x , int y) {
int dx[] = {-,-,-,,,,,};
int dy[] = {-,,,,,,-,-};
vector<pair<int,int> > result();
for(int i = ; i < ; ++i)
result[i] = make_pair(x+dx[i] , y+dy[i]);
return result;
};
auto judge = [&](int x1 , int y1 , int x2 , int y2) {
return src.at<unsigned char> (x1 , y1) >= src.at<unsigned char>(x2, y2) ? : ;
}; //split the block
//parallelism
for(int i = ; i < rows - ; ++i) {
for(int j = ; j < cols - ; ++j) {
auto near = expand(i , j);
int lbp = ;
int pos = ;
for(auto& location : near) {
lbp += judge(location.first , location.second , i , j) * (<<pos);
++pos;
}
dst.at<unsigned char>(i- , j-) = lbp;
}
}
}
int main() {
Mat imgr = imread("lenna.png", CV_LOAD_IMAGE_COLOR);
Mat img;
cvtColor(imgr,img,CV_RGB2GRAY);
Mat out(img);
LBP(img , out);
imwrite("image_lbp.png", out);
return ;
}

LBP简单实现的更多相关文章

  1. opencv 61篇

    (一)--安装配置.第一个程序 标签: imagebuildincludeinputpathcmd 2011-10-21 16:16 41132人阅读 评论(50) 收藏 举报  分类: OpenCV ...

  2. javaweb学习总结(二十七)——jsp简单标签开发案例和打包

    一.开发标签库 1.1.开发防盗链标签 1.编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.I ...

  3. 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征(转载)

    (一)HOG特征 1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和 ...

  4. 转载:LBP的初步理解

    转自http://blog.csdn.net/ty101/article/details/8905394 本文的PDF版本,以及涉及到的所有文献和代码可以到下列地址下载: 1.PDF版本以及文献:ht ...

  5. 也谈LBP

    LBP(local banary patter)是一种非常经典的用来描述图像局部纹理特征的算子. 1,基本LBP LBP方法自1994年提出,此后就作为一个有效的纹理特征,不断的被人使用和改进.LBP ...

  6. 目标检测的图像特征提取之(二)LBP特征

    LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像年提出,用于纹理特征提取.而且,提取的特征是图像的局部的纹理特征: 1.LBP特征的描述 原始的LBP算子定义为在3* ...

  7. 图像特征提取三大法宝:HOG特征,LBP特征,Haar特征

    (一)HOG特征 1.HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子.它通过计算和 ...

  8. 机器视觉----LBP

    最近一直在做多视图的聚类与分裂,想要图片有更多的视图,就得对图片的特征进行抽取,那我们来聊聊图片的LBP特征. Local binary patterns (局部二值模式),是机器视觉中重要的一种特征 ...

  9. lbp特征提取(等价模式)

    LBP等价模式 考察LBP算子的定义可知,一个LBP算子可以产生多种二进制模式(p个采样点)如:3x3邻域有p=8个采样点,则可得到2^8=256种二进制模式:5x5邻域有p=24个采样点,则可得到2 ...

随机推荐

  1. Halcon环境搭建

    1.Visual Studio 2017安装教程 2.Qt5.9安装教程 3.VS2017中Qt插件安装教程

  2. MYSQL 服务无法启动,错误日志:InnoDB: .\ibdata1 must be writable

    这几天安装MYSQL 5.7版本的时候,出现了服务无法启动的问题,尝试了各种修改配置文件my.ini的方法都不行,查看到错误日志,一般错误日志在C:\Program Files\MySQL\MySQL ...

  3. delphi RGB与TColor的转换

    1.RGB转换为Tcolor function RGBToColor(R,G,B: byte): Tcolor;begin  Result := B Shl 16 or G  shl 8 or R;e ...

  4. 【python】python获取当前日期前后N天或N月的日期

    # -*- coding: utf- -*- '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime imp ...

  5. 【bzoj5070】危险的迷宫 费用流

    题目描述 JudgeOnline/upload/201710/55.doc 输入 第一行是两个整数A与B(1≤A,B≤10),中间用空格分隔,表示该迷宫是A行B列的. 第2行至第A+1行,每行有B个1 ...

  6. BZOJ2437 NOI2011兔兔与蛋蛋(二分图匹配+博弈)

    首先将棋盘黑白染色,不妨令空格处为黑色.那么移动奇数次后空格一定处于白色格子,偶数次后空格一定处于黑色格子.所以若有某个格子的棋子颜色与棋盘颜色不同,这个棋子就是没有用的.并且空格与某棋子交换后,棋子 ...

  7. JAVA 异常处理的认知学习过程

    没有异常处理 学生时代,我编写的java代码中,很少会有try catch.最主要的原因如下: 应用的规模很小 没有不确定因素 代码可控性高 如果规模小,往往就没有复杂的逻辑链路,整个软件的分层也很浅 ...

  8. [BZOJ1339] [Baltic2008] Mafia / 黑手党

    Description 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控. 对于每个车站进行布控都需要一定的代价, 现在警方希望使用最小的代价控制一些车站,使得去掉这些车站后,匪徒无法从原定的 ...

  9. BJOI2018

    BJOI2018 省选挂完,是时候更一篇题解了.对于鬼畜结论题我只放结论不给证明,不要打我-- day1 二进制 试题描述 pupil 发现对于一个十进制数,无论怎么将其的数字重新排列,均不影响其是不 ...

  10. 移动开发:美团外卖Android Lint代码检查实践

    概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量.除了Android原生提供的几百个Lint规则,还可以开发自定义L ...