HOG特征检测C++代码
时间: 2023-11-14 18:14:33 浏览: 85
HOG方向梯度直方图代码
以下是使用OpenCV库实现HOG特征检测的C++代码示例:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
// 读取图像
Mat image = imread(argv[1], IMREAD_GRAYSCALE);
// 定义HOG参数
Size winSize = Size(64, 128);
Size blockSize = Size(16, 16);
Size blockStride = Size(8, 8);
Size cellSize = Size(8, 8);
int nbins = 9;
HOGDescriptor hog(winSize, blockSize, blockStride, cellSize, nbins);
// 计算HOG特征
std::vector<float> descriptors;
hog.compute(image, descriptors);
// 显示HOG特征
Mat hogFeatureMat = Mat(descriptors).reshape(1, 1);
std::cout << hogFeatureMat << std::endl;
return 0;
}
```
在此示例中,我们使用`imread`函数读取输入图像,然后定义HOG参数,包括窗口大小、块大小、块步长、单元格大小和bin数。使用`HOGDescriptor`类创建HOG对象,并使用`compute`函数计算HOG特征向量。最后,使用`Mat`类将特征向量转换为矩阵形式,并输出到控制台。
阅读全文