我正在处理某些图像,其中每个图像的大小都不同,并希望计算每个图像的直方图梯度。我不想调整任何图像的大小,但希望每个HOG输出的长度相同。我知道这样做的可能方法是每个单元格具有不同的像素,每种块类型具有固定的单元格。这样做时,我很想知道是否没有为pixel_per_cell skimage.feature.hog提供任何值,它将能够为我自己决定一个值,还是需要我自己的逻辑来为每个图像确定pixel_per_cell。
最佳答案
如果要为不同大小的图像提供相同长度的HOG输出,则应为将图像划分为单元的部分编写逻辑。例如,如果您的图像大小为(224x224)
,并且您希望每个单元格8
像素(skimage中的默认值),那么最终将得到(28x28)
单元格网格。现在,假设您的下一张图像的尺寸为(448x448)
,则每个像元的像素应满足此方程(224 /8) ==(448/x)
。您可以从这里轻松求解x。如果不这样做,则skimage
将对每个单元格中的像素使用默认值8
。
您可以查看文档here
关于python - pixel_per_cell skimage.feature.hog的默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55664799/