opencv blur()与fspecial('average')

时间:2015-01-17 16:28:04

标签: c++ matlab opencv

我的filterSize = 2

   h = fspecial('average', filterSize);
   imageData = imfilter(imageData, h, 'replicate');

意思是我的内核是1/4 1/4等等..

我正在使用

cv::blur(dst, dst,cv::Size(filterSize,filterSize));

所以我应该得到相同的结果。 但是,openCV结果有一条重复的线,可能是由于圆形或其他类型的矩阵填充 第0行和第1行是相同的。

你可以建议没有那条线吗

openCV结果:

  0.027027026, 0.027027026, 0.022727273, 0.018427517, 0.017199017, 0.017813267, 
  0.027027026, 0.027027026, 0.022727273, 0.018427517, 0.017199017, 0.017813267,
  0.02948403, 0.02948403, 0.027641278, 0.028255528, 0.03194103, 0.03194103,
  0.054054055, 0.054054055, 0.055896807, 0.064496316, 0.077395573, 0.079852581,
  0.11240786, 0.11240786, 0.11855037, 0.13513513, 0.14864865, 0.1566339,
  0.16646191, 0.16646191, 0.17383292, 0.18611793, 0.18673219, 0.19471744,
  0.18243243, 0.18243243, 0.19471744, 0.19594595, 0.18796068, 0.1928747,

Matlab结果:

0.0270270   0.022727    0.018427    0.017199    0.017813  0.0251842
0.029484    0.027641    0.028255    0.031941    0.031941  0.0350122
0.0540540   0.055896    0.064496    0.077395    0.079852  0.0847665
0.1124078   0.118550    0.135135    0.148648    0.156633  0.1683046
0.1664619   0.173832    0.186117    0.186732    0.194717  0.2057739
0.1824324   0.194717    0.195945    0.187960    0.192874  0.1947174

0 个答案:

没有答案