0

この関数でこの行を使用していますが、エラーがあります。

filter2D(GaussKernel,conspic1,GaussKernel.depth(),split(GaussKernel,KernelAchrSplit),Point(-1,-1),0,BORDER_DEFAULT);

Kernel と conspic1 は Mat オブジェクトです。カーネルに問題があると思います。それを返す関数がわからないからです。だから私は分割機能を使用します

これは、C++ で関数を使用する方法です。

void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point anchor=Point(-1,-1), double delta=0, int borderType=BORDER_DEFAULT );

私が持っているエラーは次のとおりです。

void 式の不適切な使用

4

2 に答える 2

0

私がしなければならないことは、Matlab から翻訳することです。

GaussKernel=fspecial('gaussian',maxhw,sigma);
conspic=filter2(GaussKernel,conspic,'same'); //Gaussian snoothing in each orientation

私がしたことは次のとおりです。

GaussianBlur(maxhw,GaussKernel,Size(0,0),1,1,BORDER_DEFAULT;
//setting 1,1 ; i m setting the Gaussian kernel standard deviation as 
//the paramether sigma in Matlab first line

filter2D(GaussKernel,conspic1,GaussKernel.depth(),split(GaussKernel,KernelAchrSplit),Point(-1,-1),0,BORDER_DEFAULT);
//I know I don t have to use split for the kernel paramether, but I suppose I have
// to use GaussKernel Mat object's kernel and I don t know how get it
于 2013-05-21T10:30:37.547 に答える