轮廓-Canny边缘检测(彩色图)
函数说明:void Canny( InputArray image, OutputArray edges,double threshold1, double threshold2,int apertureSize = 3, bool L2gradient = false );image:输入图像edges:输出图像threshold1:像素值(最小值)threshold2:像素值(最大值)apertureSize:算法滤波核大小(3*3)L2gradient:是否应用更精确的方式计算
void findContours( InputArray image, OutputArrayOfArrays contours,OutputArray hierarchy, int mode,int method, Point offset = Point());image:原始图像contours:检测到的轮廓的点的集合hierarchy:记录轮廓之间的关系,四个维度:同级后一个轮廓的序号,同级上一个轮廓的序号,第一个孩子序号,父亲序号mode:轮廓的检测方式RETR_EXTERNAL仅仅检测外圈轮廓RETR_LIST 检测全部轮廓,但是没有层级关系RETR_CCOMP 仅仅两层包含关系,即只有外层和内层,假设有夹层,那么夹层也算外层,只要某个轮廓还包含轮廓,都算外部轮廓RETR_TREE 检测所有的轮廓,并建议非常完整的层级关系RETR_FLOODFILL无描述method:轮廓点的存储方式CHAIN_APPROX_NONE 相邻的轮廓点坐标只相差一个像素,所以是连续轮廓点CHAIN_APPROX_SIMPLE 横,竖对角线段只保存断点数据,比如矩形就只保存四个顶点CHAIN_APPROX_TC89_L1CHAIN_APPROX_TC89_KCOS
//边缘检测:m_Mat是原始图像,m_Mat_OutPut是用来接收轮廓点的图像Canny(m_Mat,m_Mat_OutPut,100,200);//轮廓发现:扫描图像将轮廓点集全找出来vector<vector<Point>>contours;vector<Vec4i>hierachy;findContours(m_Mat_OutPut,contours,hierachy,RETR_TREE,CHAIN_APPROX_SIMPLE,Point(0,0));//遍历轮廓点:将符合条件的轮廓画到原始图像上for (int i = 0; i < contours.size(); ++i) {double area = contourArea(contours[i]);//轮廓面积double length = arcLength(contours[i],false);//轮廓长度if(area<1000&&length<1000){continue;}drawContours(m_Mat,contours,i,Scalar(rand()%255,rand()%255,rand()%255));//}//图像显示QImage img = cvMat_To_Qimage(m_Mat);img = img.scaled(ui->label_3->geometry().width(),ui->label_3->geometry().height(),Qt::KeepAspectRatio,Qt::SmoothTransformation);ui->label_3->setPixmap(QPixmap::fromImage(img));
轮廓-Canny边缘检测(彩色图)相关推荐
- C语言数字图像处理----3.2 图像边缘检测之Canny边缘检测算法
本篇将介绍图像边缘检测中的Canny边缘检测,这是传统边缘检测学习中的必学内容,也是图像算法面试中的常见问题,本文将教会初学者如何在理解算法的基础之上,通过C语言来实现Canny边缘检测算法,从而做到 ...
- Open cv的Canny边缘检测和轮廓检测例子
# -*- coding:utf-8 -*-import cv2 image = cv2.imread("images/000.jpg") cv2.imshow("en& ...
- 【OpenCV-Python】——边缘和轮廓Laplacian/Sobel/Canny边缘检测查找/绘制轮廓及轮廓特征霍夫直线/圆变换
目录 前言: 1.边缘检测 1.1 Laplacian边缘检测 1.2 Sobel边缘检测 1.3 Canny边缘检测 2.图像轮廓 2.1 查找轮廓 2.2 绘制轮廓 2.3 轮廓特征 3.霍夫变换 ...
- 轮廓-threshold边缘检测(灰度图)
注:使用彩色图测试结果失败了,灰度图就可以 double threshold( InputArray src, OutputArray dst,double thresh, double maxval ...
- OpenCV:用C++绘制彩色铅笔画(Canny边缘检测算法)
之前写的博客感觉太严肃了,学习应该是一件很开心,很有成就感的事情,所以我觉得我们可以利用所学知识,做一点有趣的事情. 在这里,我们需要用到的知识是Canny边缘检测算法.也就是通过边缘提取,外加一点小 ...
- Canny边缘检测算法原理及其VC实现详解(二)
3. Canny算法的实现流程 由于本文主要目的在于学习和实现算法,而对于图像读取.视频获取等内容不进行阐述.因此选用OpenCV算法库作为其他功能的实现途径(关于OpenCV的使用,作者将另文表述 ...
- Canny边缘检测及C++实现(转载)
版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/dcrmg/article/details/52344902 Canny边缘检测算法是澳大利亚科学家John ...
- Canny边缘检测及C++实现
Canny边缘检测算法是澳大利亚科学家John F. Canny在1986年提出来的,不得不提一下的是当年John Canny本人才28岁!到今天已经30年过去了,Canny算法仍然是图像边缘检测算法 ...
- Canny边缘检测算法原理及其VC实现详解(一)
原文地址:http://blog.csdn.net/likezhaobin/article/details/6892176 图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是 ...
最新文章
- 后缀数组--处理字符串的利器
- 4.11-固件映像包 (FIP)
- 河北省往届高考成绩查询2021,2021河北高考成绩查询时间 高考成绩查询入口
- LeetCode 7 整数反转
- 有钱了该不该提前还清房贷?
- IOC操作Bean管理XML方式(bean的作用域)
- PXC 安装 for 5.7
- JAVA隐藏鼠标的方法
- 计算机辅助设计简称为才,计算机辅助设计知识分享.ppt
- 画法几何与工程制图2
- matlab绘图空间曲线,matlab空间曲线绘图
- 计算机WIN7安装,教您win7旗舰版安装教程
- 牵手·············
- html页面中访问外站资源的时候协议的问题
- 树莓派安装Windows
- 人工神经网络(ANN)
- Linux 操作系统
- activiti入门系列文章9 - 委派与转办
- 下一个好莱坞巨头——计算机
- 上手基金,看这一篇就够了