OpenCV图像处理(十五)---图像轮廓特征

热力学第三定律是热力学的四条基本定律之一,其描述的是热力学系统的熵在温度趋近于绝对零度时趋于定值。而对于完整晶体,这个定值为零。由于这个定律是由瓦尔特·能斯特归纳得出后进行表述,因此又常被称为能斯特定理或能斯特假定。1923年,吉尔伯特·路易斯和梅尔·兰德尔对此一定律重新提出另一种表述。                                                             

科普

知识

前言

     在上一期的文章中,我们学习了图像的边缘检测知识,了解到边缘检测实际就是检测图像中亮度变化有区别或者较大的地方,实际效果表现为图像中的轮廓检测。今天,我们继续来学习图像的新知识--轮廓特征。 

一、检测并绘制轮廓的方法

     轮廓检测是图像处理中常用的方法。OpenCV中使用cv2.findContours()函数来查找检测物体的轮廓,一起来看看吧。

1.1 原始图像

                 (各式各样的形状)

1.2 代码实践

1)首先我们来寻找轮廓,然后将轮廓进行描红

# 首先我们来寻找轮廓,然后将轮廓进行描红
import cv2
import numpy as np
img = cv2.imread('binary.jpg')
gray = cv2.cvtColor ( img , cv2.COLOR_BGR2GRAY )
ret , binary = cv2.threshold ( gray , 120 , 255 , cv2.THRESH_BINARY )
cv2.imshow("binary", binary)  
image , contours , hierarchy = cv2.findContours ( binary , cv2.RETR_EXTERNAL , cv2.CHAIN_APPROX_SIMPLE )
cv2.drawContours(img,contours,-1,(0,0,255),3)


cv2.imshow("img", img)  
cv2.waitKey(0)

2)将找到的轮廓用外接圆进行框选出来

import cv2
import numpy as np
img = cv2.imread('binary.jpg')
gray = cv2.cvtColor ( img , cv2.COLOR_BGR2GRAY )
ret , binary = cv2.threshold ( gray , 120 , 255 , cv2.THRESH_BINARY )
cv2.imshow("binary", binary)  
image , contours , hierarchy = cv2.findContours ( binary , cv2.RETR_EXTERNAL , cv2.CHAIN_APPROX_SIMPLE )


#print(contours[0])
 #以圆形框出找到的轮廓
for i in range(len(contours)):
    (x, y), radius = cv2.minEnclosingCircle(contours[i])
    center = (int(x), int(y))
    radius = int(radius)
    img = cv2.circle(img, center, radius, (0, 255, 0), 2)
    cv2.imshow("img", img)
# 这个函数用于绘制
cv2.drawContours(img,contours,-1,(0,0,255),3)


cv2.imshow("img", img)  
cv2.waitKey(0)

代码分析:需要注意的是cv2.findContours()函数接受的参数为二值图,即黑白的(不是灰度图),所以读取的图像要先转成灰度的,再转成二值图(前期讲述的阈值化操作就是二值图)。

1.3 效果展示

1)首先我们来寻找轮廓,然后将轮廓进行描红

(可以看到,轮廓已经被描红)

2)将找到的轮廓用外接圆进行框选出来

(轮廓已经被外接圆框选,有些地方不太合理哦,后期可以用面积法排除。)

结语

     今天的分享结束了,我们主要学习了轮廓检测函数和框选函数,当然框选函数还有矩形等方法,小编的本科毕设就是采用的矩形框选方法哦,感兴趣的同学可以多去了解哦,自行体会各种方法的不同哦,当然轮廓检测有个重要的环节就是要去除不必要的轮廓,通常由面积法,宽高法等等。

编辑:玥怡居士|审核:小圈圈居士

往期精彩回顾

OpenCV图像处理(十四)---边缘检测

OpenCV图像处理(十三)---图像滤波

OpenCV图像处理(十二)---图像阈值化

扫码关注更多精彩

点亮在看,你最好看!

fengyuxie
关注 关注
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV-Python实战(1)——OpenCV简介与图像处理基础
盼小辉丶的博客
08-10 22万+
OpenCV 是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时也提供了 Python 接口,实现了图像处理和计算机视觉方面的很多通用算法。在本文中,将介绍 OpenCV 库,包括它的主要模块和典型应用场景,同时使用 OpenCV-Python 实战讲解图像处理基础要点。
opencv-python图像处理 ---图像轮廓检测与代码实现
勤劳鸟儿
01-09 6201
一·、轮廓检测 边缘检测虽然能够检测边缘,但是其边缘并不是连续的,图像轮廓用于检测一个整体,来用于后续进行其他处理。opencv提供了两个函数来完成这些操作: findContours():该函数可以查找轮廓 drawContours():绘制轮廓 轮廓与边缘的区别在于:轮廓是一条完整、连续的边缘。轮廓上的像素点表示实际图像中的连续曲线–即物体的外形轮廓。 函数的具体用法: contours, hierarchy = cv2.findContours(img, mode=, method=) 传入参数说
opencv轮廓匹配_图像轮廓特征
weixin_39655160的博客
12-06 2480
图像轮廓特征是图像中非常重要的一种特征。在进行视觉检测的时候,我们常常利用轮廓特征来达到我们要检测的目的。比如,检测一条直线的斜率,可以先提取直线的轮廓特征,然后采用最小包围矩形的方式得到角度,当然,直线的斜率也可以采用别的方式得到。在检测目标数量的时候,我们也可以利用数轮廓数量的方式得到,此外,还可以利用检测的轮廓对图像进行分割,利用检测到的轮廓进行轮廓匹配等操作。总之,轮廓特征的用处非常大,在...
opencv 轮廓特征
Claroja
10-16 472
1.距 cv.moments() import numpy as np import cv2 as cv img = cv.imread('star.jpg',0) ret,thresh = cv.threshold(img,127,255,0) im2,contours,hierarchy = cv.findContours(thresh, 1, 2) cnt = contours[0] M =...
OpenCV 图像处理 轮廓检测基本原理
最新发布
weixin_46999174的博客
07-25 2639
轮廓发现是图像处理中的一个重要步骤,用于检测物体的边界和形状。本文讲解了基本实现原理和代码实现
OpenCV轮廓特征
weixin_44796581的博客
08-26 509
1.特征矩 主要使用cv.moments()函数来实现。 cv.moments ( InputArray array, bool binaryImage = false ) 参数如下: array:输入数组,可以是光栅图像(单通道,8-bit或浮点型二维数组),或者是一个二维数组(1 X N或N X 1),二维数组类型为Point或Point2f binaryImage:默认值是false,如果为true,则所有非零的像素都会按值1对待,也就是说相当于对图像进行了二值化处理,阈值为1,此参数仅对
OpenCV-轮廓特征
qq_43815039的博客
06-14 349
学习
opencv17:轮廓特征
uncle_ll的博客
10-26 537
目标 在本文中,将学习 如何找到轮廓的不同特征,例如面积,周长,质心,边界框等。 将看到大量与轮廓有关的函数 图像矩 图像矩是指图像的某些特定像素灰度的加权平均值(矩),或者是图像具有类似功能或意义的属性, 可以帮助计算一些特征,例如物体的质心,物体的面积等。函数cv2.moments()提供了所有计算出的矩值。见下文: import cv2 import numpy as np img = cv2.imread('start.png', 0) ret, thresh = cv2.threshold(
C++ - Qt - opencv - 图像分割 - 种子提取 - 特征提取
05-14
在本项目中,我们探索了如何使用C++编程语言,结合Qt库和OpenCV库,进行图像处理,特别是种子提取和特征提取。首先,我们来深入理解这些关键概念和技术。 **1. C++:** C++是一种通用的、面向对象的编程语言,具有...
opencv图像处理-opencv图像处理之图像分割.zip
03-08
本资料包"opencv图像处理_opencv图像处理之图像分割.zip"显然专注于这一主题,它可能包含了一系列关于如何使用OpenCV进行图像分割的教程、代码示例和相关资源。 图像分割在许多应用中都有重要用途,如医学影像分析...
OpenCV学习笔记-轮廓特征
云中寻雾的博客
05-26 1044
查找轮廓的不同特征,例如面积,周长,重心,边界框等矩:cv.moments()轮廓面积:cv.contourArea()轮廓周长:cv.arcLength()轮廓近似:cv.approxPolyDp()边界矩形:cv.boundingRect()最小外接矩形: cv.minAreaRect() cv.boxPoints()最小外接圆:cv.minEnclosingCircle()椭圆拟合:cv.e...
OpenCV图像处理-轮廓轮廓特征
THMAIL的博客
09-26 1202
OpenCV 中的轮廓 ✏️问:什么是轮廓? ????️答:轮廓是一系列相连的点组成的曲线,代表了物体的基本外形,相对于边缘,轮廓是连续的,边缘并不全部连续。 ✏️问:如何寻找轮廓? ????️答:寻找轮廓的操作一般用于二值化图,所以通常会使用阈值分割或Canny边缘检测先得到二值图 PS:寻找轮廓是针对白色物体的,一定要保证物体是白色,而背景是黑色,不然很多人在寻找轮廓时会找到图片最外面的一个框。 ...
我的OpenCV学习笔记(19):检测轮廓,直线,圆以及直线拟合
java开发指南博客 【转载】
05-25 1467
检测轮廓时我们使用canny边沿检测算法,这个算法其实也是基于梯度的。但是,与传统的梯度算法求边沿不同的是: 1.它可以精确的定位边沿的位置。通过沿幅角方向检测模值的极大值点,即边缘点,遍历8个方向图像像素,把每个像素偏导值与相邻像素的模值比较,取其MAX值为边缘点,置像素灰度值为0。这样做的结果使得边沿非常细。 2.双阈值检测。通常一个较小的阈值会保留很多边沿,他们中的一部分是没有用的;而一...
opencv轮廓特征1
lcydhr的专栏
05-15 677
第一个函数void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed) 该函数的功能是将轮廓做多边形近似。官方文档给出的实例链接为http://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/contours.cpp,可是
opencv轮廓特征(质心,面积,周长,近似轮廓,凸包,凸度,边界矩形,直角矩形,旋转矩形,最小闭合圈,拟合椭圆、直线)
dujuancao11的博客
01-11 2749
4_9_2_轮廓特征 - OpenCV中文官方文档 找到轮廓的不同特征,例如面积,周长,质心,边界框等。 1. 特征特征矩可以帮助您计算一些特征,例如物体的质心,物体的面积等。请查看特征矩上的维基百科页面。函数**cv.moments**()提供了所有计算出的矩值的字典。见下文: import numpy as np import cv2 as cv img = cv.imread('star.jpg',0) ret,thresh = cv.threshold(img,127,255.
opencv练习15OpenCV 中的轮廓
qq_43543515的博客
03-29 186
1.1 初识轮廓 目标 • 理解什么是轮廓 • 学习找轮廓,绘制轮廓等 • 函数:cv2.findContours(),cv2.drawContours() 1.1 什么是轮廓 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。 • 为了更加准确,要使用二值化图像。在寻找轮廓之前,要进行阈值化处理或者 Canny 边界检测。 • 查找轮廓的函数会修改原始图像。如果你在找到轮廓之后还想使用原始图像的话,你应该将原始图像存储到其他变量中。
OpenCV学习笔记】之图像轮廓特征与图像的矩
热门推荐
zhu_hongji的博客
08-20 1万+
一、图像的轮廓(Contours of Image)        轮廓可以说是一个很好的图像目标的外部特征,这种特征对于我们进行图像分析,目标识别和理解等更深层次的处理都有很重要的意义。那么,怎么取提取轮廓呢? 轮廓提取的基本原理:         (针对二值化的轮廓提取是这样的)对于一幅背景为白色、目标为黑色的二值图像,如果在图中找到一个黑色点,且它的8邻域(或4邻域)也均为黑色,则说明...
图像轮廓特征、性质 、面积、周长、边界矩形、方向、极点
爱CV
07-04 852
返回包覆输入信息的最小斜矩形,是一个Box2D结构rect:(最小外接矩形的中心(x,y),(宽度,高度),旋转角度),但是要绘制这个矩形,我们需要矩形的4个顶点坐标box, 通过函数 cv2.cv.BoxPoints() 获得,返回形式[ [x0,y0], [x1,y1], [x2,y2], [x3,y3] ]。这个函数的第二参数可以用来指定对象的形状是闭合的(True),还是打开的(一条曲线)。根据上面的定理,只需要枚举多边形的边,做外接矩形,比较外接矩的面积,选最小的那个。他们是轮廓点的索引。
OpenCv轮廓特征详解
AI_dataloads的博客
10-15 469
当我们处理图像时,轮廓(Contours)是一个非常有用的概念。在OpenCV中,轮廓是图像中连续的曲线,表示对象的边界。它们可以用于各种计算和分析任务,例如对象检测、形状识别和测量。
OpenCV图像处理:初识轮廓与找轮廓
"OpenCV中的图像处理部分第四章聚焦于轮廓的概念和...了解和熟练掌握OpenCV中的轮廓处理技术,对于进行物体识别、形状分析等图像处理任务至关重要,能够帮助开发者更有效地处理图像数据并从中提取有价值的几何特征
写文章

热门文章

  • 毕业论文排版(一)-封面设置 14488
  • 深度学习理论篇之 ( 十八) -- 注意力机制之SENet 13480
  • 毕业论文排版(六)-三线表 9272
  • 【图像篇】OpenCV图像处理(四)---图像切割&ROI选取 8197
  • 【图像篇】opencv图像处理(一)---图像基础知识 7345

分类专栏

  • 人工智能 2篇
  • python学习 5篇
  • 电脑知识 4篇
  • java 1篇

最新评论

  • 【2023年终总结】感恩南洋经历,2024收拾再启程

    CSDN-Ada助手: 不知道 Python入门 技能树是否可以帮到你:https://edu.csdn.net/skill/python?utm_source=AI_act_python

  • 深度学习理论篇之 ( 十八) -- 注意力机制之SENet

    wall_litter: 言简意赅,果然只有抽丝剥茧之后才能看清本质啊。佩服。

  • 深度学习理论篇之 ( 十八) -- 注意力机制之SENet

    fengyuxie: 最开始的权重是有模型初始化的,后面就是逐步学习来自适应修整的。

  • 深度学习理论篇之 ( 十八) -- 注意力机制之SENet

    笔直且黄莺: 这个权重是怎么得到的?根据什么来来每一个通道的权重?难道是全局池化的大小吗?

  • 深度学习理论篇之 ( 十八) -- 注意力机制之SENet

    笔直且黄莺: 是2019的文章吧!

大家在看

  • Android知识:从简单到抽象的工厂模式
  • 【开题报告+论文+源码】物联网车辆GPS定位管理系统
  • 【第12章】SpringBoot之SpringBootActuator服务监控(上) 973
  • 闯关leetcode——66. Plus One 783
  • CountDownLatch源码分析 422

最新文章

  • 【2023年终总结】感恩南洋经历,2024收拾再启程
  • 【年终总结】告别2022,携手2023
  • 深度学习实战篇之 ( 十八) -- Pytorch之SeNet
2024年1篇
2023年1篇
2022年5篇
2021年30篇
2020年99篇
2019年61篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王专业网站优化收费网站流量优化工具徐汇区官方网站优化费用郑州网站优化-野狼seo江干网站优化推广网站优化软件哪家便宜鄄城县网站优化排名seo网站优化书西咸新区西安网站优化南丰网站优化公司网站产品优化立联火星赞包头怎么做网站优化盐城建湖网站优化推广惠州网站关键词优化哪家强钟山网站优化高端网站优化费用河源新网站优化益阳百度网站优化价格东莞网站竞价优化案例优化网站怎样做发布供应信息和网站优化哪个好常州网站优化怎么弄铝业网站seo优化效果普陀区公司官方网站优化定制沈阳哪里可以优化网站荔湾企业网站优化推广价格网站优化兼职在哪个网站找网站优化哪家公司可以做河源网站优化外包广宁企业网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化