在Matlab中的滑动窗口上应用操作

时间:2016-08-21 15:26:58

标签: matlab convolution face-recognition

我有一个很大的形象,我必须:

  • 首先,将函数应用于图像的每个可能的补丁,如滑动窗口。这实际上非常类似于卷积,Matlab支持卷积,但我需要在每个图像补丁上计算“关键值”(真实)(我们将其视为黑盒函数)。正如评论所建议的那样,我可以使用“blockproc”函数

  • 然后,我需要找到n个最小的键值及其各自的位置,但问题是我有几个具有相似低键值的重叠窗口,然后排序将保留列表中的所有键值,这是不合需要的。相反,我想检测那些重叠的窗口,并只保留具有最低键值的窗口。你可以说我想找到的不是n个最小的键值,而是只找到n个局部最小值(不确定这个类比是否正确)。我不能给出代码,因为它太长而且复杂(使用+5函数的特征脸进行面部识别)

1 个答案:

答案 0 :(得分:1)

第1步:将nlfilter应用于原始图片:

keyimg = nlfilter(img, windowsize, keyfun);

第2步:将im2col应用于keyimg并对键值进行排序:

colimg = im2col(keyimg, windowsize, 'sliding');
minimg = sort(colimg, 1); % perhaps take only the first `k` rows