デジタル画像処理学習への道のり (1): OpenCV 独自のライブラリ関数を使用してフィルタリングを実現する

1. imread は画像を読み取ります

Mat オブジェクトを使用して画像を受け取ることができます。

	Mat srcImage = imread("D:\\image\\4.jpg",0);
	//函数对应的参数含义
	Mat imread( const String& filename, int flags = IMREAD_COLOR );
	//(文件路径,读取图片的格式)默认为IMREAD_COLOR

パラメータのフラグの値には、次の 3 つのタイプがあります。

1.IMREAD_COLOR ,>0

2.IMREAD_GRAYSCALE ,=0

3.IMREAD_UNCHANGED、<0

2.ボックスフィルタリング

	boxFilter(srcImage, dstImage, -1, Size(3, 3));
	//函数对应的参数含义
	CV_EXPORTS_W void boxFilter( InputArray src, OutputArray dst, int ddepth,
                             Size ksize, Point anchor = Point(-1,-1),
                             bool normalize = true,
                             int borderType = BORDER_DEFAULT );

3.平均フィルタリング

	blur(srcImage, dstImage1, Size(5, 5), Point(-1, -1));
	//函数对应的参数含义
	CV_EXPORTS_W void blur( InputArray src, OutputArray dst,
                        Size ksize, Point anchor = Point(-1,-1),
                        int borderType = BORDER_DEFAULT );

4 番目、ガウス フィルタリング

	GaussianBlur(srcImage, dstImage2, Size(5, 5), 0, 0);
	//函数对应的参数含义
	CV_EXPORTS_W void GaussianBlur( InputArray src, OutputArray dst, 
                                Size ksize,
                                double sigmaX, double sigmaY = 0,
                                int borderType = BORDER_DEFAULT );	

5.メディアンフィルタリング

	medianBlur(srcImage, dstImage3, 5);
	//函数对应的参数含义
	CV_EXPORTS_W void medianBlur( InputArray src, OutputArray dst, int ksize );

6. バイラテラル フィルタリング

	bilateralFilter(srcImage, dstImage4, 6, 12, 6 / 2);
	//函数对应的参数含义
	CV_EXPORTS_W void bilateralFilter( InputArray src, OutputArray dst, int d,
                                   double sigmaColor, double sigmaSpace,
                                   int borderType = BORDER_DEFAULT );

おすすめ

転載: blog.csdn.net/Lianhaiyan_zero/article/details/126126070