笔者曾经做过一个项目,后期是把matlab转化为opencv,在此过程中,遇到的比较大的问题是HOG特征的提取问题,由于两个不用语言写的函数其输入参数的格式和编程思想有较多不同,在调试过程中花费了较多时间,在此作对比,并详细讲述转化方法。
基本情况:Matlab所用的函数名是hogcalculator.m。opencv所用的函数为HOGDescriptor。
目标:调整各自输入参数,使相同的输入在各自的程序中具有相同的特征向量。
1.matlab中:
先看matlab:
函数如下:
function F = hogcalculator(img, cellpw, cellph, nblockw, nblockh,nthet, overlap, isglobalinterpolate, issigned, normmethod)
给输入参数编号:
(1)img, (2)cellpw, (3)cellph, (4)nblockw, (5)nblockh, (6)nthet, (7)overlap, (8)isglobalinterpolate, (9)issigned, (10)normmethod
按顺序解释输入参数:
(1)输入图像,必须是灰度图
(2-3)cell的水平和垂直方向的像素
(4-5)滑动块的水平和垂直方向的个