当前位置:首页 » 《随便一记》 » 正文

OpenCV: 边缘检测器Canny_Aeronautics

22 人参与  2021年12月21日 08:19  分类 : 《随便一记》  评论

点击全文阅读


边缘检测器Canny

RGB图 → \rightarrow 除噪 → \rightarrow Gray图 → \rightarrow Canny边缘检测
此例中没有进行除噪

#include <opencv2/opencv.hpp>

int main(int argc,char** argv) {
    //实例化矩阵
    cv::Mat img_rgb,img_gry,img_cny;
    //创建窗口放置灰度图
    cv::namedWindow("Example_Gray",cv::WINDOW_AUTOSIZE);
    //创建窗口放置边缘检测图
    cv::namedWindow("Example_Canny",cv::WINDOW_AUTOSIZE);
    //读取图片
    img_rgb=cv::imread(argv[1]);
    //RGB转灰度图
    cv::cvtColor(img_rgb,img_gry,cv::COLOR_BGR2GRAY);
    //显示灰度图
    cv::imshow("Example_Gray",img_gry);
    //Canny边缘检测器
    //param: InputArray,OutputArray,threshold1(低阈值),threshold2(高阈值),apertureSize(Sobel算子大小,主要用于获得数字图像的一阶梯度),L2gardient(指定计算梯度的等式. 当参数为 True 时,采用梯度计算公式(3)(4))
    cv::Canny(img_gry,img_cny,10,100,3,true);
    //显示边缘检测图
    cv::imshow("Example_Canny",img_cny);
    //等待键盘事件
    cv::waitKey(0);
    return 0;
}

终端中输入

mkdir build
cd build
cmake ..
make
cd ..
./build/opencv_5 1130276.jpg

图像金字塔是一种经典的图像多尺寸描述方法,它将降采样和平滑滤波结合在一起,对图像进行多尺度表示。图像金字塔由不同尺寸的图像叠加而成,通常每一层的尺寸都是上一层的一半。通常用于高效的图像分析,这种处理技术的意义在于:我们在对图像进行处理时,大多是要着眼于图像中有意义的部分,而同一幅图像中可能含有不同尺度下“有意义”的信息,为了充分利用这些图像信息,就需要对图像进行多尺度描述了。
缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图

结合图像金字塔操作(两次降采样)后采用Canny边缘检测器

#include <opencv2/opencv.hpp>

int main(int argc,char** argv) {
    //实例化矩阵
    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]);
    //RGB转灰度图
    cv::cvtColor(img_rgb,img_gry,cv::COLOR_BGR2GRAY);
    //显示灰度图
    cv::imshow("Example_Gray",img_gry);
    //第一次降采样
    cv::pyrDown(img_gry,img_pyr);
    //第二次降采样
    cv::pyrDown(img_pyr,img_pyr2);
    //Canny边缘检测器
    cv::Canny(img_pyr2,img_cny,10,100,3,true);
    //显示边缘检测图
    cv::imshow("Example_Canny",img_cny);
    //等待键盘事件
    cv::waitKey(0);
    return 0;
}

终端中输入

mkdir build
cd build
cmake ..
make
cd ..
./build/opencv_5 470111.jpg


点击全文阅读


本文链接:http://zhangshiyu.com/post/31811.html

图像  灰度  采样  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1