cv2.HOGDescriptor 的计算方法总是 returns 一个空元组
compute method of cv2.HOGDescriptor always returns an empty tuple
我正在使用 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)
附上测试图
我认为图片大小有问题。更具体地说,与 hog 描述符的默认 window 大小相比,图像大小更小。我建议调整图片大小,然后使用下面附带的代码片段。
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)
我正在使用 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)
附上测试图
我认为图片大小有问题。更具体地说,与 hog 描述符的默认 window 大小相比,图像大小更小。我建议调整图片大小,然后使用下面附带的代码片段。
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)