OpenCV(学习笔记5)-Canny边缘检测

首先将原图转换成灰度图,然后利用blur函数对图像进行模糊并以此来降噪,然后用canny函数进行边缘检测。

#include<opencv2/opencv.hpp>
// OpenCV图像处理头文件
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;

int main()
{
    Mat srcImg = imread("1.jpg");
    // 显示原图
    imshow("原图", srcImg);

    Mat dstImg, edge, grayImg;
    // 创建与srcImg同类型大小的矩阵
    dstImg.create(srcImg.size(), srcImg.type());
    // 将原图转换成灰度图
    cvtColor(srcImg, grayImg, CV_BGR2GRAY);
    // 显示灰度图
    imshow("灰度图", grayImg);

    // 使用3*3内核来进行降噪处理
    blur(grayImg, edge, Size(3,3));
    // Canny算子
    Canny(edge, edge, 3, 9, 3);
    // 显示最终的结果
    imshow("Canny边缘检测后", edge);
    waitKey(6000);
    return 0;
}

运行后的结果如下所示:
这里写图片描述

这里写图片描述
关于OpenCV和图像处理以及模式识别更多的学习资料将继续更新,敬请关注本博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章