zoukankan      html  css  js  c++  java
  • OpenCV——边缘检测入门、Canny边缘检测

    #include <opencv2/opencv.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    //Canny边缘检测的一般过程:
    //转成灰度图
    //降噪
    //用Canny算子(此时已经得到了边缘)
    //将边缘作为掩码,拷贝原图到效果图上,得到彩色的边缘
    
    
    int main(int argc, char** argv)
    {
    	Mat src = imread("E:\VS2015Opencv\vs2015\project\picture\cat.jpg");
    	Mat src1 = src.clone();
    	imshow("原图", src);
    	Mat dst, edge, gray;
    
    	//初始化输出图
    	dst.create(src1.size(), src1.type()); 
    		dst = Scalar::all(0);
    
    	//转成灰度图
    	cvtColor(src1, gray, COLOR_BGR2GRAY);
    
    	//均值滤波降噪,也可以用其他滤波方法
    	blur(gray, edge, Size(3, 3));
    
    	//运行canny算子,得到边缘
    	Canny(edge, edge, 3, 9, 3);
    
    	//掩膜的存在使得只有边缘部分被copy,得到彩色的边缘
    	src1.copyTo(dst, edge);
    
    	imshow("效果图", dst);
    
    	waitKey(0);
    	return 0;
    
    }
    

      边缘检测的相关原理和步骤

  • 相关阅读:
    生成随机数
    ES集群开启X-pack认证
    部署ceph
    分布式存储ceph理论
    kvm虚拟机迁移
    kvm虚拟机网络管理
    kvm虚拟机存储管理
    机电传动控制个人课程报告
    第11周机电传动控制作业
    补充第九周手工画图
  • 原文地址:https://www.cnblogs.com/fcfc940503/p/11282329.html
Copyright © 2011-2022 走看看