实战深度学习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;

 

演示例程:

posted @ 2018-12-01 12:01  Geeksongs  阅读(3992)  评论(0编辑  收藏  举报

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.