邊緣檢測分為五種:(或許更多?但我目前只知道有這五種...)
- Soble
- Laplacian
- Canny
- Prewitt
- 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;
}
執行結果如下
全站熱搜
留言列表