使用HOG获取图像描述符但hog.compute始终返回0.0

问题描述 投票:0回答:1

64x64 image尝试使用OpenCV在Python中执行简单的操作。使用HOG获取特征向量。但我得到全部0.0。我试过几张图片同样的结果。

import cv2
image = cv2.imread("D:\\skhan\\research\\data\\face\\test.jpg",cv2.IMREAD_COLOR)
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
winSize = (64,64)
blockSize = (16,16)
blockStride = (8,8)
cellSize = (8,8)
nbins = 9
derivAperture = 1
winSigma = 4.0
histogramNormType = 0
L2HysThreshold = 2.0000000000000001e-01
gammaCorrection = 0
nlevels = 64
hog = cv2.HOGDescriptor(winSize,blockSize,blockStride,cellSize,nbins,derivAperture,winSigma,histogramNormType,L2HysThreshold,gammaCorrection,nlevels)
winStride = (8,8)
padding = (8,8)
locations = ((10,20),)
hist = hog.compute(image,winStride,padding,locations)
python opencv
1个回答
0
投票

简单地使用hist = hog.compute(image)会得到非零结果。

默认情况下,winstride, padding, locations是空元组。但是,如果您坚定使用winstride等,您的图像为64x64,窗口大小(winsize)为64x64,添加8x8 winstride将导致图像上没有窗口重叠,因此输出将填充零。

© www.soinside.com 2019 - 2024. All rights reserved.