Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 每单元像素的默认值skimage.feature.hog_Python_Machine Learning_Scikit Learn_Scipy_Computer Vision - Fatal编程技术网

Python 每单元像素的默认值skimage.feature.hog

Python 每单元像素的默认值skimage.feature.hog,python,machine-learning,scikit-learn,scipy,computer-vision,Python,Machine Learning,Scikit Learn,Scipy,Computer Vision,我正在处理一些图像,其中每个图像的大小都不同,并希望计算每个图像的直方图梯度。我不想调整任何图像的大小,但希望每个图像的输出长度相同。我知道这样做的可能方法是每个单元有一个不同的像素,每个块类型有一个固定的单元。在这样做的过程中,我很好奇是否没有为每个单元格的像素skimage.feature.hog提供任何值。它是否能够为我确定一个值,或者我是否需要自己的逻辑来确定每个图像的每个单元格的像素。如果您希望为不同大小的图像提供相同长度的hog输出,然后,您应该为将图像分割为单元格的部分编写逻辑。例

我正在处理一些图像,其中每个图像的大小都不同,并希望计算每个图像的直方图梯度。我不想调整任何图像的大小,但希望每个图像的输出长度相同。我知道这样做的可能方法是每个单元有一个不同的像素,每个块类型有一个固定的单元。在这样做的过程中,我很好奇是否没有为每个单元格的像素skimage.feature.hog提供任何值。它是否能够为我确定一个值,或者我是否需要自己的逻辑来确定每个图像的每个单元格的像素。

如果您希望为不同大小的图像提供相同长度的hog输出,然后,您应该为将图像分割为单元格的部分编写逻辑。例如,如果图像大小为
(224x224)
,并且希望每个单元格有
8个
像素(skimage中的默认值),则最终将得到
(28x28)
单元格网格。现在假设您的下一幅图像具有尺寸
(448x448)
,那么您的每个单元的像素应满足以下等式
(224/8)==(448/x)
。从这里可以很容易地解出x。如果不这样做,则
skimage
将对每个单元格中的像素使用默认值
8


您可以查看文档

我最后指定了特定于图像的每个单元的像素,使每个块的每个单元保持相同

 skimage.feature.hog(img, orientations=9, pixels_per_cell=(img.shape[0]/8,img.shape[1]/8),cells_per_block=(4, 4), block_norm='L2-Hys', visualize=False, visualise=None, transform_sqrt=False, feature_vector=True, multichannel=None)
也为我的问题提供了相当好的解决方案


此外,默认的每单元像素数(8x8)对生成不同长度的猪没有多大帮助。

因为只有你回答了,我才能自己解决问题,所以你应该得到赏金:)