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和圖像處理以及模式識別更多的學習資料將繼續更新,敬請關注本博客。

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