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)
    

    边缘特征图像

    此致,敬礼

  • 相关阅读:
    冲刺第二阶段第十天
    冲刺第二阶段第九天
    冲刺第二阶段第八天
    冲刺第二阶段第七天
    第十三周学习进度条
    冲刺第二阶段第六天
    第二冲刺阶段绩效评估
    Beta版总结会议
    Alpha版总结会议
    第二次冲刺阶段站立会议(十)
  • 原文地址:https://www.cnblogs.com/numen-fan/p/10084022.html
Copyright © 2011-2022 走看看