邊緣檢測分為五種:(或許更多?但我目前只知道有這五種...)

  1. Soble
  2. Laplacian
  3. Canny
  4. Prewitt
  5. Scharr

 

在這邊我使用最常見的 Canny 做示範!

圖片強烈建議先轉灰階,減少運算量。(一樣使用筆記(1)的那張範例圖)


#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main()
{
    char fileName[] = "D:\\聖誕節.jpg";
    IplImage *image, *newImage;
    
    image = cvLoadImage(fileName, CV_LOAD_IMAGE_GRAYSCALE);
    if (!image)
    {
        cout << "找不到檔案!!!" << endl;
    }
    else
    {
        newImage = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 1);
        cvCanny(image, newImage, 100, 300);
        cvShowImage("image", newImage);
        cvWaitKey(0);
    }

    system("pause");
    return 0;
}


執行結果如下

arrow
arrow
    全站熱搜

    Yang 發表在 痞客邦 留言(0) 人氣()