使用HOG方法提取图片特征(python写)

最近在用python写图片检索的代码,从网上看到可以使用HOG方法提取图片的特征,所以自己就根据网上的代码进行了一下修改,只使用HOG特征提取特征,并将提取出来的特征以数组的形式打印出来。`
下面是我的代码示例:

import numpy as np
from PIL import Image
from skimage.feature import hog


size = 256
def get_feat():
    image = 'airplane_001.jpg'
    image = Image.open(image)
    #image.show()
    image = np.reshape(image, (size, size, 3))
    #print(image)

    gray = rgb2gray(image)/255.0

    #这句话可以根据自己的图片大小进行修改,我的图片是256
    fd = hog(gray, orientations=20, pixels_per_cell=[20,20], cells_per_block=[10,10], visualize=False, transform_sqrt=True,block_norm='L2-Hys')
    print(fd)
    return fd
#变为灰度图片
def rgb2gray(im):
    gray = im[:, :, 0]*0.2989+im[:, :, 1]*0.5870+im[:, :, 2]*0.1140
    return gray

if __name__ == '__main__':
    get_feat()

下面是我的结果输出:

使用HOG方法提取图片特征(python写)_第1张图片
可能是由于数据量比较大,所以没有完全展开。

本人也是刚开始接触python,做一些小实验,代码中可能会有一些不足,读者可以提出来,咱们一起改进。邮箱[email protected]

你可能感兴趣的:(使用HOG方法提取图片特征(python写))