我正在使用here中提供的代码段来计算小图像补丁的HOG功能。但是,对于随附的代码,应该保存HOG特征值的变量h将返回一个空元组。谁能指出我在代码中哪里出了问题?

import numpy as np
import cv2

img = cv2.imread('newimg.jpg')
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_gray = cv2.resize(img_gray,(50,50))

hog = cv2.HOGDescriptor()
h = hog.compute(img_gray)
print(h)


附有测试图像

最佳答案

我认为图像尺寸有问题。更具体地说,与猪描述符的默认窗口大小相比,图像大小更小。我建议调整图像大小,然后使用下面附带的代码段。

winSize = (32,32)
blockSize = (16,16)
blockStride = (8,8)
cellSize = (8,8)
nbins = 9
hog = cv2.HOGDescriptor(winSize, blockSize, blockStride, cellSize, nbins)
h = hog.compute(img_gray)
print(h)

关于python-3.x - cv2.HOGDescriptor的计算方法始终返回一个空的元组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54819810/

10-12 19:38