资源简介

最近一直在做提取纹理特征的用法,用gabor特征提取纹理特征,Python代码

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
    # gabor.py
    # 2015-7-7
    # github: https://github.com/michael92ht
    #__author__ = ‘huangtao‘
    
# import the necessary packages
import numpy as np
import cv2 as cv
from pylab import *
import tensorflow as tf

#定义了一个4尺度6方向的Gabor变换
#并将4尺度6方向变换函数图像及指定图像变换后的图像保存在指定文件夹
#可扩展为各种方法求纹理特征值等
def Gabor_u4v6(imageimage_save_path):
    #图像预处理
    print image
    image=cv.imread(image1)
    print (image)
    src = cv.cvtColor(image cv.COLOR_BGR2GRAY)
    print(‘aaaaaaaaaaaaa‘)
    print src
    src_tensor= tf.convert_to_tensor(src)
    print src_tensor
    src_f = np.array(src dtype=np.float32)
    print(‘bbbbbbbbbbbbbbbbbb‘)
    print src_f
    src_f /= 255.
    print(‘bnnnnnnnnnnnnnnnnnnnnnnnnnnnnn‘)
    print src_f


    # img_H = 128
    # img_W = 64
    us=[7121721]             #4种尺度
    vs=[0306090120150]     #6个方向
    kernel_size =21             
    sig = 5                     #sigma 带宽,取常数5
    gm = 1.0                    #gamma 空间纵横比,一般取1
    ps = 0.0                    #psi 相位,一般取0
    i=0
    # dest_new = tf.placeholder(tf.float32 shape=(None img_H img_W 3))
    
    # dest_new=[]
    for u in us:
        for v in vs:
            lm = u
            th = v*np.pi/180
            kernel = cv.getGaborKernel((kernel_sizekernel_size)sigthlmgmps)
            kernelimg = kernel/2.+0.5
            dest = cv.filter2D(src_f cv.CV_32Fkernel)
            i+=1
            if i == 13:
                # cv.imwrite(image_save_path + str(i) + ‘Kernel.jpg‘ cv.resize(kernelimg (kernel_size*20kernel_size*20))*256)
                dest_numpy =  np.power(dest2)
                # dest_numpy = cv.cvtColor(dest_numpy cv.COLOR_BGR2GRAY)
                # dest_numpy=repmat(dest_numpy[11

评论

共有 条评论