利用canny边缘检测,我们可以很好地得到哦一个图像的轮廓,下面是基于C++的,这是我们通过这段代码得到的结果:

实战深度学习OpenCV(一):canny边缘检测

#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;

 

演示例程:

相关文章:

  • 2022-12-23
  • 2021-11-28
  • 2021-06-01
  • 2021-04-08
  • 2021-05-16
  • 2022-02-10
  • 2021-12-05
猜你喜欢
  • 2022-12-23
  • 2022-01-09
  • 2021-11-10
  • 2021-12-24
  • 2021-06-25
  • 2022-12-23
  • 2021-11-01
相关资源
相似解决方案