边缘检测的一般步骤

  • 滤波——消除噪声
  • 增强——使边界轮廓更加明显
  • 检测——选出边缘点

方法一

Canny算法
特点:轮廓细腻

#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>using namespace std;
using namespace cv;//边缘检测
int main()
{Mat img = imread("1.jpg");imshow("原始图", img);Mat DstPic, edge, grayImage;//创建与src同类型和同大小的矩阵DstPic.create(img.size(), img.type());//将原始图转化为灰度图cvtColor(img, grayImage, COLOR_BGR2GRAY);//先使用3*3内核来降噪blur(grayImage, edge, Size(3, 3));//运行canny算子Canny(edge, edge, 3, 9, 3);imshow("Canny算法轮廓提取效果", edge);waitKey(0);
}

方法二

Sobel算法

#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>using namespace std;
using namespace cv;//边缘检测
int main()
{Mat img = imread("1.jpg");imshow("原始图", img);Mat grad_x, grad_y;Mat abs_grad_x, abs_grad_y, dst;//求x方向梯度Sobel(img, grad_x, CV_16S, 1, 0, 3, 1, 1, BORDER_DEFAULT);convertScaleAbs(grad_x, abs_grad_x);imshow("x方向soble", abs_grad_x);//求y方向梯度Sobel(img, grad_y, CV_16S, 0, 1, 3, 1, 1, BORDER_DEFAULT);convertScaleAbs(grad_y, abs_grad_y);imshow("y向soble", abs_grad_y);//合并梯度addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, dst);imshow("Sobel算法轮廓提取效果", dst);waitKey(0);
}

方法三

Laplacian算法

#include<opencv2\opencv.hpp>
#include<opencv2\highgui\highgui.hpp>using namespace std;
using namespace cv;//边缘检测
int main()
{Mat img = imread("1.jpg");imshow("原始图", img);Mat gray, dst, abs_dst;//高斯滤波消除噪声GaussianBlur(img, img, Size(3, 3), 0, 0, BORDER_DEFAULT);//转换为灰度图cvtColor(img, gray, COLOR_RGB2GRAY);//使用Laplace函数//第三个参数:目标图像深度;第四个参数:滤波器孔径尺寸;第五个参数:比例因子;第六个参数:表示结果存入目标图Laplacian(gray, dst, CV_16S, 3, 1, 0, BORDER_DEFAULT);//计算绝对值,并将结果转为8位convertScaleAbs(dst, abs_dst);imshow("Laplace算法轮廓提取效果", abs_dst);waitKey(0);
}

Opencv 轮廓提取相关推荐

  1. python opencv轮廓提取_Python + Opencv2 实现轮廓提取,轮廓区域面积计算

    对图像处理时,会遇到这样一个场景:找到图像主体轮廓,这是其一,可能为了凸显轮廓,需要用指定的颜色进行标记:轮廓标记完可能任务还没有结束,还需对轮廓所勾勒的像素面积区域统计计算. 本篇文章的主要内容就是 ...

  2. opencv 轮廓提取文字

    基于轮廓提取图像文字 内容: 使用你上一篇博客图像透视变换的结果,将A4纸上的线条单独识别出来.  输入图像:    输出图像:  Python使用opencv实现 实验环境:Window下使用Pyt ...

  3. OpenCV轮廓提取和椭圆拟合

    今天用到了几个函数,作个总结. 首先是在二值图像中找轮廓,我的图象中只有一条轮廓,所以使用比较简单. 首先要分配存储空间,使用函数cvCreateMemStorage(0)分配一个默认大小的CvMem ...

  4. 图像轮廓提取算法(Opencv基于C++实现)

    Opencv图像轮廓提取 0. 实现结果如下: 1. 打开图像代码 2. 轮廓提取函数 3. 代码实现 本文主要实现了图像的轮廓提取,首先先给出直观的轮廓实现结果: 0. 实现结果如下: 1. 打开图 ...

  5. pythonopencv提取轮廓区域_Python + Opencv 实现轮廓提取,轮廓区域面积计算

    Python + Opencv2 实现轮廓提取,轮廓区域面积计算: 对图像处理时,会遇到这样一个场景:找到图像主体轮廓,这是其一,可能为了凸显轮廓,需要用指定的颜色进行标记:轮廓标记完可能任务还没有结 ...

  6. OpenCV实践之路——opencv玩数独之一九宫格轮廓提取与透视变换

    本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/50783585 微博:http ...

  7. 《OpenCv视觉之眼》Python图像处理十二 :Opencv图像轮廓提取之基于一阶导数的Roberts算法、Prewitt算法及Sobel算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  8. OpenCV学习笔记(六)之轮廓提取与角度测量

      查找图像的轮廓在图像处理及应用中扮演着重要的角色.openCV 中的轮廓指的是由一系列点组成的点的集合,不同的轮廓可以有不同的点集.openCV中,轮廓是由STL风格的vector<> ...

  9. 《OpenCv视觉之眼》Python图像处理十四 :Opencv图像轮廓提取之Scharr算法和Canny算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  10. android opencv画轮廓,如何在Android的OpenCV中从每个轮廓提取线条?

    我想检查每个Canny检测到的边缘,并在其中寻找主线(以检查它们是否看起来像一个矩形,例如,两对线是否平行等). Imgproc.HoughLinesP可以满足我的要求,但是它给出了整个图像中的线条, ...

最新文章

  1. 寻找XenApp的下载
  2. vs code配置python环境mac_mac vscode Python配置
  3. python储存与读取图片_Python下opencv使用笔记(一)(图像简单读取、显示与储存)...
  4. 【Tools】VMware Workstation 15.5 Pro安装详解
  5. 60-10-050-命令-kafka-broker-api-versions.sh
  6. 《jQuery UI 开发指南》——2.3 tabs ()方法
  7. python函数详解_Python函数详解(转)
  8. 神经网络-GoogleNet的发展,介绍,贡献
  9. 计算机绘图实训任务书,autocad模块化实训任务书-2011.11
  10. 服务器系统记事本乱码,记事本乱码完美解决修复教程
  11. springboot整合微信网页授权登陆
  12. javascript 经典功能代码和经验教程
  13. ubuntu系统安装到移动硬盘
  14. 网络安全 (九 缓冲区溢出metasploit)
  15. Golang入门,安装与环境配置,简单代码入门
  16. kind多节点端口映射
  17. ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)[已解决]
  18. 幼儿园案例经验迁移_幼儿园教学案例分析
  19. arp断网攻击解决办法
  20. 排序模型进阶-WideDeepWDL模型导出

热门文章

  1. 70行代码让你远离颈椎病,致所有的程序猿们
  2. 读取xls格式的文件
  3. ML-Agents案例之金字塔
  4. interface Ethernet 0/0/0 和interface GigabitEthernet 1/0/0
  5. IOS捷径|九宫格切图工具 分享
  6. Duanxx的技术问题:word界面显示模糊
  7. 吉林大学计算机学院辅导员王,毕业30载 吉林大学计算机学院1982级校友重返母校...
  8. UVA 1212 Duopoly
  9. 获取iv和encryptedData
  10. 手撸Mybatis源码-基础版