zoukankan      html  css  js  c++  java
  • Python + OpenCV 实现LBP特征提取

    背景

    看了些许的纹理特征提取的paper,想自己实现其中部分算法,看看特征提取之后的效果是怎样

    运行环境

    • Mac OS
    • Python3.0
    • Anaconda3(集成了很多包,浏览器界面编程,清爽)
    步骤
    导入包
    from skimage.transform import rotate
    from skimage.feature import local_binary_pattern
    from skimage import data, io,data_dir,filters, feature
    from skimage.color import label2rgb
    import skimage
    import numpy as np
    import matplotlib.pyplot as plt
    from PIL import Image
    import cv2
    
    参数设置
    # settings for LBP
    radius = 1	# LBP算法中范围半径的取值
    n_points = 8 * radius # 领域像素点数
    
    图像读取
    # 读取图像
    image = cv2.imread('img/logo.png')
    #显示到plt中,需要从BGR转化到RGB,若是cv2.imshow(win_name, image),则不需要转化
    image1 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    plt.subplot(111)
    plt.imshow(image1)
    

    原图

    灰度转换
    image = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)
    plt.subplot(111)
    plt.imshow(image, plt.cm.gray)
    
    LBP处理
    lbp = local_binary_pattern(image, n_points, radius)
    plt.subplot(111)
    plt.imshow(lbp, plt.cm.gray)
    

    纹理特征图像

    边缘提取
    edges = filters.sobel(image)
    plt.subplot(111)
    plt.imshow(edges, plt.cm.gray)
    

    边缘特征图像

    此致,敬礼

  • 相关阅读:
    Node buffer模块缓冲区
    Node url模块
    Node querystring
    Node fs模块同步读取写入追加
    Linux Shell 量的自增
    Compare, sort, and delete duplicate lines in Notepad ++
    PL SQL 基础
    Oracle alter table modify column Syntax example
    Oracle to_char格式化函数
    oracle to_char FM099999
  • 原文地址:https://www.cnblogs.com/numen-fan/p/10084022.html
Copyright © 2011-2022 走看看