实战深度学习OpenCV(一):canny边缘检测
利用canny边缘检测,我们可以很好地得到哦一个图像的轮廓,下面是基于C++的,这是我们通过这段代码得到的结果:
#include "pch.h"
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main()
{
// 读入一张图片
Mat srcimage = imread("C://Users//lenovo//Desktop//456.jpg");
namedWindow("青春", 0);//创建窗口
cvResizeWindow("青春", 333, 500); //创建一个333*500大小的窗口
imshow("青春", srcimage);//在创建的窗口中显示图片
Mat dstimage,edge,grayimage;
dstimage.create(srcimage.size(), srcimage.type());
cvtColor(srcimage, grayimage, CV_BGR2GRAY);
cvtColor(srcimage, grayimage, COLOR_BGR2GRAY);
blur(grayimage,edge,Size(17,17));
Canny(edge, edge, 3, 9, 3);
// 等待6000 ms后窗口自动关闭
namedWindow("canny边缘检测", 0);//创建窗口
cvResizeWindow("canny边缘检测", 333, 500); //创建一个333*500大小的窗口
imshow("canny边缘检测", edge);//在创建的窗口中显示图片
waitKey(0);//等待按键按下
return 0;
演示例程: