0

OpenCV で以下のガウス カーネルを作成し、OpenCV の GaussianBlur 関数と比較しました。ただし、滑らかな画像ではなく黒い画像が表示されます。誰かがこれに光を当てることができますか?

Mat src, dst1,dst2;
Mat gaussiankrnl(3,3,CV_32F);
Point anchor;
double delta;
int ddepth;

anchor = Point( -1, -1 );
delta = 0;
ddepth = -1;

src = imread("coins.pgm");




gaussiankrnl.at<double>(0,0) = 1/16;
gaussiankrnl.at<double>(0,1) = 2/16;
gaussiankrnl.at<double>(0,2) = 1/16;
gaussiankrnl.at<double>(1,0) = 2/16;
gaussiankrnl.at<double>(1,1) = 4/16;
gaussiankrnl.at<double>(1,2) = 2/16;
gaussiankrnl.at<double>(2,0) = 1/16;
gaussiankrnl.at<double>(2,1) = 2/16;
gaussiankrnl.at<double>(2,2) = 1/16;


filter2D(src, dst1, ddepth , gaussiankrnl, anchor, delta, BORDER_DEFAULT );

GaussianBlur(src, dst2, Size(3,3), 1.0);

imshow("result1", dst1 );
imshow("result2", dst2 );

cvWaitKey(0);
return 0;
4

1 に答える 1

5

整数を分割し、ゼロ カーネルを作成しています。

他の値と同様に変更1/16します。1.0/16.0

于 2012-11-20T23:02:52.797 に答える