使用猪获取图像描述符,但hog.com putute始终返回0.0



64x64图像尝试使用OpenCV在Python中做一些简单的事情。使用猪来获取功能向量。但是我得到了全部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)

简单地使用hist = hog.compute(image)给出非零结果。

默认情况下,winstride, padding, locations是空元组。但是,如果您使用winstride的牢固,等等,您的图像为64x64,窗口大小(winsize)为64x64,则添加8x8 winstride将不会导致图像上窗口的重叠,因此您的输出填充了Zeros。p>要澄清,winsize是整个图像上运行的滑动窗口的大小。由于图像的大小和滑动窗口的大小是相同的,因此由于计算猪特征的方式,因此不会创建特征,这就是为什么您会看到零。

相关内容

最新更新