欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用opneCV对图像进行简单的平滑处理

程序员文章站 2022-07-05 16:02:21
...

这个可以通过高斯核对图像进行简单的平滑处理

#include <opencv2/opencv.hpp>
int main( int argc, char** argv ) {
	

  // Load an image specified on the command line.
  //在执行文件的时候 输入需要载入的图片
  cv::Mat image = cv::imread(argv[1],-1);

  //分别创建两个窗口 一个是输入窗口 一个是输出窗口
  cv::namedWindow( "Example 2-5-in", cv::WINDOW_AUTOSIZE );
  cv::namedWindow( "Example 2-5-out", cv::WINDOW_AUTOSIZE );

  //显示输入的信号
  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);
//第二次 out由于被分配了临时空间  所以可以作为输入核输出 
 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 );

}


上一篇博客中给了CMakeLists.txt文件 这里就不再赘述
下面是运行的结果
使用opneCV对图像进行简单的平滑处理