2019-10-09 简单变换 —— 平滑处理图像

1、代码
#include <opencv2/opencv.hpp>

void help(char** argv ) {

std::cout << "\n"

<< "2-05: load and smooth an image before displaying \n"

<< argv[0] <<" <path/video>\n"

<< "For example:\n"

<< argv[0] << " ../tree.avi\n"

<< std::endl;

}

int main( int argc, char** argv ) {

if (argc != 2) {

help(argv);

return 0;

}

  // Load an image specified on the command line.

  //

  cv::Mat image = cv::imread(argv[1],-1);

  // Create some windows to show the input

  // and output images in.

  //

  cv::namedWindow( "Example 2-5-in", cv::WINDOW_AUTOSIZE );

  cv::namedWindow( "Example 2-5-out", cv::WINDOW_AUTOSIZE );

  // Create a window to show our input image

  //

  cv::imshow( "Example 2-5-in", image );

  // Create an image to hold the smoothed output

  //

  cv::Mat out;

  // Do the smoothing

  // ( Note: Could use GaussianBlur(), blur(), medianBlur() or

  // bilateralFilter(). )

  //

  cv::GaussianBlur( image, out, cv::Size(5,5), 3, 3);

  /*

  void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEFAULT )

参数解释:

. InputArray src: 输入图像,可以是Mat类型,图像深度为CV_8U、CV_16U、CV_16S、CV_32F、CV_64F。

. OutputArray dst: 输出图像,与输入图像有相同的类型和尺寸。

. Size ksize: 高斯内核大小,这个尺寸与前面两个滤波kernel尺寸不同,ksize.width和ksize.height可以不相同但是这两个值必须为正奇数,

如果这两个值为0,他们的值将由sigma计算。

. double sigmaX: 高斯核函数在X方向上的标准偏差

. double sigmaY: 高斯核函数在Y方向上的标准偏差,如果sigmaY是0,则函数会自动将sigmaY的值设置为与sigmaX相同的值,如果sigmaX和sigmaY

都是0,这两个值将由ksize.width和ksize.height计算而来。具体可以参考getGaussianKernel()函数查看具体细节。建议将size、sigmaX和sigmaY

都指定出来。

. int borderType=BORDER_DEFAULT: 推断图像外部像素的某种便捷模式,有默认值BORDER_DEFAULT,如果没有特殊需要不用更改,具体可以参考

borderInterpolate()函数。

*/

  cv::GaussianBlur( out, out, cv::Size(5,5), 3, 3);

  // Show the smoothed image in the output window

  //

  cv::imshow( "Example 2-5-out", out );

  // Wait for the user to hit a key, windows will self destruct

  //

  cv::waitKey( 0 );

}

2、结果


3、结论:卷积在数据处理中用来平滑,卷积有平滑效应和展宽效应.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容