1 示例代码

#include <iostream> 
#include <opencv2/core/core.hpp> 
#include<opencv2/highgui/highgui.hpp> 
#include <opencv2/opencv.hpp>
using namespace cv; 
using namespace std;
int main() 
{ 
    Mat img=imread("E:/picture.jpg",CV_LOAD_IMAGE_GRAYSCALE);//读入一张图片

    namedWindow("Test");     //创建一个名为Test窗口
    if (img.empty())
    {
        cout<<"图片指针为空,请输入正确的图片路径"<<endl;
    }

    //进行Canny操作并保存结果
    Mat cannyResult;
    Canny(img,cannyResult,50,150);
    imshow("Test",cannyResult);//窗口中显示图像

    imwrite("E:/pic灰度.jpg",cannyResult);
    //  cout<<"M="<<img<<endl;

    waitKey(5000); //等待5000ms后窗口自动关闭
    getchar();           
}

2 结果图片

OpenCV – 读取一个图像,并使用Canny算子进行边缘提取-StubbornHuang Blog
OpenCV – 读取一个图像,并使用Canny算子进行边缘提取-StubbornHuang Blog