gpt4 book ai didi

opencv- 从 25*125 眼睛图像计算 HOG 特征时获取 std::length_error' what(): vector::_M_fill_insert

转载 作者:太空宇宙 更新时间:2023-11-03 21:17:43 26 4
gpt4 key购买 nike

当我计算大小为 25*125 的眼睛图像的 HOG 特征时。然后在抛出“std::length_error”的实例后调用终止调用的错误消息 what(): 向量::_M_fill_insert

HOGDescriptor hog;
vector<float> ders;
vector<Point>locs;
hog.compute(img,ders,Size(4,4),Size(0,0),locs);
Mat Hogfeat;
Hogfeat.create(ders.size(),1,CV_32FC1);

for(int i=0;i<ders.size();i++)
{
Hogfeat.at<float>(i,0)=ders.at(i);

}

谁能告诉我解决方案?

最佳答案

图像的一侧小于描述符,因此计算失败。

如果我使用以下行,计算对我有效:

hog.compute(img,ders,Size(3,3),Size(0,0),locs);

block 的大小是8。所以3 * 8 = 24 <= 25但是4 * 8 = 32 > 25 .

解决方案取决于您想要实现的目标以及您愿意做出的妥协。您可以只使用较小的描述符,这可能会导致对其他图像的描述性有所损失。或者您可以缩放或填充太小的图像,这可能会降低它们的描述符的用处,但不会影响其他图像。

关于opencv- 从 25*125 眼睛图像计算 HOG 特征时获取 std::length_error' what(): vector::_M_fill_insert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14315488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com