LBP概念

LBP的算法全称是Local Binary Pattern, 局部二值特征。他的实现也很简单,对于图像的一个3x3的块,中心的值和周围八个点作比较,周围点比中心点大为1,反之为0,从而可以将当前这个中心点转换成只包含01的二值表示,然后再将二进制转成十进制存储。


LBP的实现还有很多变种,比如圆形LBP。无论其方式如何变化,其中心思想都是周围点和中心点比较。

算法

LBP代码实现:

def LBP(src):''':param src:灰度图像:return:'''height = src.shape[0]width = src.shape[1]dst = src.copy()lbp_value = np.zeros((1,8), dtype=np.uint8)neighbours = np.zeros((1,8), dtype=np.uint8)for x in range(1, width-1):for y in range(1, height-1):neighbours[0, 0] = src[y - 1, x - 1]neighbours[0, 1] = src[y - 1, x]neighbours[0, 2] = src[y - 1, x + 1]neighbours[0, 3] = src[y, x - 1]neighbours[0, 4] = src[y, x + 1]neighbours[0, 5] = src[y + 1, x - 1]neighbours[0, 6] = src[y + 1, x]neighbours[0, 7] = src[y + 1, x + 1]center = src[y, x]for i in range(8):if neighbours[0, i] > center:lbp_value[0, i] = 1else:lbp_value[0, i] = 0lbp = lbp_value[0, 0] * 1 + lbp_value[0, 1] * 2 + lbp_value[0, 2] * 4 + lbp_value[0, 3] * 8 \+ lbp_value[0, 4] * 16 + lbp_value[0, 5] * 32 + lbp_value[0, 6] * 64 + lbp_value[0, 7] * 128#print(lbp)dst[y, x] = lbpreturn dst

生成的图片就会产生这种类似浮雕一样的效果。

opencv图像处理笔记【1】:LBP算法的实现相关推荐

  1. OpenCV中图像旋转(warpAffine)算法的实现过程

    在OpenCV中,目前并没有现成的函数直接用来实现图像旋转,它是用仿射变换函数cv::warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰索斯插值,如果传进去的参数为基 ...

  2. OpenCV,马赛克 常用图像增强算法的实现

    import cv2 import numpy as npdef salt(img, img2, n):noff = int((n - 1) / 2)for i in range(noff,img.s ...

  3. OpenCV 图像处理编程学习笔记

    <OpenCV编程实例代码>各章重点知识点简述 第一章 OpenCv环境配置 第二章 图像及视频的基本操作 第二部分 图像处理技术 第三章 图像灰度变换技术 第四章 图像平滑技术 第五章 ...

  4. OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算

    OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...

  5. PCA(主成分分析法)的理解笔记及算法的实现

    前几天搞定了Open3d库问题后,准备手撕PCA算法突然人麻了.我坚信学习是不断重复的过程,特此做个笔记,欢迎大家评论和交流! 感谢大佬的文章: 1.主成分分析(PCA)原理详解_Microstron ...

  6. FPGA图像处理_OTSU算法的实现(含源码)

      由于图像阈值的直观性和易于实现的性质,使它在图像分割应用中处于中心地位.阈值分割方法实际上是输入图像fff到输出图像ggg的变换,如式所示. g(i,j)={1,f(i,j)>=T0,f(i ...

  7. opencv学习笔记2:图像处理基础

    学习笔记 来源于淘宝的一个视频,记录下学习笔记. 图像由像素组成: 任何一个图,有很多点构成,每一个点,我们管它叫像素. 如图,左边图和右边图时同一个事物.不同点是左边点比较大,右边比较细腻.看起来不 ...

  8. OpenCV图像处理(Python)学习笔记

    OpenCV图像处理 OpenCV图像处理 第1章 OpenCV入门 第2章 图像处理基础 2.1 基本表示方法 2.2 感兴趣区域(ROI) 第3章 图像运算 3.1 加法运算 3.2 图像加权和 ...

  9. opencv光线补偿_光线补偿算法的实现

    最近扒拉了一些光线补偿算法的实现,可能是能力比较有限,看到的大多是是基于Face detection in color images是这篇论文的实现. 从效果上来看,的确起到了明亮.美白的效果.但是从 ...

  10. 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...

    1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...

最新文章

  1. Lucene:基于Java的全文检索引擎简介(转载)
  2. 典型数据中心能耗分析,空调系统选择很重要,想节能可以这样设计
  3. python用random产生验证码,以及random的一些其他用法
  4. webstorm中nodejs代码提示
  5. flask-mail异步发送邮件_使用 python 发送邮件
  6. 大量数据通过Phoenix插入到hbase报错记录(2)
  7. ARKit:也许是 iPhone 十周年最好的新开始
  8. CNware防DDOS攻击介绍--云宏
  9. 50行python代码写个计算器教程
  10. 2015 2020 r4烧录卡 区别_2020版药典,药用辅料被重视了
  11. Day 2: 数据类型的使用,字符编码
  12. 随机身份证号码计算年龄
  13. Win11使用PCVR时性能问题已修复 可手动安装解决
  14. 计算机方向 会议级别
  15. 基于标签的蛋白质定量技术-iTRAQ,TMT
  16. 证途网:一建报考条件
  17. Unity3D开发工程师
  18. 小程序真机调试代码包太大
  19. 硬盘突然变raw格式_硬盘变成RAW格式怎么办
  20. 找回淘宝的“高级搜索”功能

热门文章

  1. 这就是XcodeGhost作者的原话
  2. 实现二叉树各种遍历算法
  3. matlab getdata 仿照一个曲线 提取图像中的曲线数据
  4. java 斑马 打印 图片_Zebra打印机不会打印ZPL格式
  5. 使用Origin从图片中准确提取数据
  6. sql server2008密钥
  7. Java学习手册:Java面向对象面试问题
  8. PreScan中Sensor的理解
  9. 易语言 html替换,易语言教程文本替换和子文本替换
  10. 各种操作系统中密码文件的位置