2019-10-10转换灰度图,且缩写图像,且进行边沿检测

1、目的

把图片转换为灰度图,之后进行2次1倍图像尺寸缩写 ,再进行边沿检测。

2、代码

#include <opencv2/opencv.hpp>

void help(char** argv ) {

std::cout << "\n"

<< "\nExample 2-8. Combining the pyramid down operator (twice) and the Canny"

    << "\n            subroutine in a simple image pipeline"

    << "\nCall:\n" 

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

<< "For example:\n"

<< argv[0] << " ../fruits.jpg\n"

<< std::endl;

}

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

if (argc != 2) {

help(argv);

return 0;

}

  cv::Mat img_rgb, img_gry, img_cny, img_pyr, img_pyr2;

  cv::namedWindow( "Example Gray", cv::WINDOW_AUTOSIZE );

  cv::namedWindow( "Example Canny", cv::WINDOW_AUTOSIZE );

  img_rgb = cv::imread( argv[1] );

  cv::cvtColor( img_rgb, img_gry, cv::COLOR_BGR2GRAY);//转换为灰度图

  cv::pyrDown( img_gry, img_pyr ); //缩写一倍尺寸

  cv::pyrDown( img_pyr, img_pyr2 );//缩写一倍尺寸

  cv::Canny( img_pyr2, img_cny, 10, 100, 3, true ); //边沿检测


  cv::imshow( "Example Gray", img_gry );

  cv::imshow( "Example Canny", img_cny );

  cv::waitKey(0);

}

3、结果


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

推荐阅读更多精彩内容