图像分割与描述综合示例

图像分割与描述综合示例

  1. 视觉算法的基本开发步骤
  2. 使用OpenCV完成图像分割及区域描述

一、问题分析与思路

在这里插入图片描述

解决思路:
  1. 图像采集(取到图像)
  2. 图像预处理
  3. 基于灰度的阈值分割
  4. 图像特征描述及目标分析
  5. 得到最终结果
找到目标轮廓
image, contours, hierarchy = cv.findContours( image, mode, method[, contours[, hierarchy[,offset]]] )

image : 单通道图像矩阵,可以是灰度图,但更常用的是经过边缘检测算子处理后的二值图像;
contours :定义为“vector<vector> contours”,是一个轮廓列表;
hierarchy : 存在嵌套轮廓时,分别为第i个轮廓的后一个轮廓、前一个轮廓、父轮廓、内嵌轮廓的索引编号;
mode : 定义轮廓的检索模式, 包括CV_RETR_EXTERNAL只检测最外围轮廓, CV_RETR_LIST检测所有轮廓,但不建立等级关系等;
method : 包括CV_CHAIN_APPROX_SIMPLE 仅保存轮廓的拐点信息,把所有轮廓拐点处的点保存入contours等;
offset : 所有的轮廓信息相对于原始图像对应点的偏移量, 缺省不设置。

相关函数 (Python)
D-P法多边形拟合
approxCurve = cv.approxPolyDP( curve, epsilon, closed[, approxCurve] )
计算轮廓线长度
retval = cv.arcLength( curve, closed )
计算轮廓面积
retval = cv.contourArea( contour[, oriented] )
计算轮廓包围矩形(水平的)
retval = cv.boundingRect( array )
计算轮廓包围矩形(斜的)
retval = cv.minAreaRect( points )
计算轮廓拟合椭圆
retval = cv.fitElllipse( points )

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值