2017-12-13 9 views
0

64x64 image pyhtonでopencvを使って単純なことを試みている。 HOGを使用して特徴ベクトルを得る。しかし、私はすべて0.0を取得します。私は同じ結果をいくつか試しました。HOGを使用して画像記述子を取得するが、hog.computeは常に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) 

答えて

0

単純にhist = hog.compute(image)を使用すると、0以外の結果が得られます。

デフォルトでは、winstride, padding, locationsは空のタプルです。ただし、winstrideなどを使用している場合は、イメージが64x64で、ウィンドウサイズ(winsize)が64x64で、8x8を追加するとwinstrideはイメージのウィンドウと重複しないため、出力にはゼロが入ります。

関連する問題