#include <opencv2/opencv.hpp> //highgui模块头文件
#include <opencv2/imgproc/imgproc.hpp> //图像处理头文件
using namespace cv; //包含cv命名空间
int main() //控制台应用程序的入口函数,我们的函数从这里开始
{
//载入原图
Mat srcImage = imread("./LYU.jpg");
//显示原图
namedWindow("【羲之湖】", 0); //创建窗口
cvResizeWindow("【羲之湖】", 640, 480); //创建一个640*480大小的窗口
imshow("【羲之湖】", srcImage); //显示图像
Mat dstImage, edge, grayImage; //参数定义
//创建与src同类型和大小的矩阵
dstImage.create(srcImage.size(), srcImage.type());
//灰度处理
cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
//均值滤波.3×3内核降噪
blur( grayImage, edge, Size(3, 3));
//运用canny算子
Canny(edge, edge, 3, 9, 3);
//显示效果图
namedWindow("【羲之湖】边缘检测效果图", 0); //创建窗口
cvResizeWindow("【羲之湖】边缘检测效果图", 640, 480); //创建一个640*480大小的窗口
imshow("【羲之湖】边缘检测效果图", edge);
waitKey(0); //等待任意键按下
return 0;
}
效果图