opencv轮廓周长原理_Opencv之轮廓特征

本文介绍了如何使用OpenCV进行轮廓分析,包括计算矩以确定图像质心和面积,利用cv2.contourArea()计算轮廓面积,通过cv2.arcLength()获取轮廓周长,使用cv2.approxPolyDP()进行轮廓近似,检测和修正凸包,判断轮廓的凸性,绘制边界矩形和最小外接圆。这些方法对于图像处理和形状识别至关重要。
摘要由CSDN通过智能技术生成

1.矩

图像的矩可以帮助我们计算图像的质心,面积等。# -*- coding: utf-8 -*-

import cv2

import numpy as np

img = cv2.imread('1.jpg')

ret,thresh = cv2.threshold(img,127,255,0)

contours,hierarchy=cv2.findContours(threshcv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

cnt = contours[0]

Z = cv2.moments(cnt)

print Z

#计算重心

cx = int(Z['z10']/Z['z00'])

cy = int(Z['z01']/Z['z00'])

2.轮廓面积

轮廓的面积可以使用函数 cv2.contourArea() 计算得到。area = cv2.contourArea(cnt)

3.轮廓周长perimeter = cv.arcLength(cnt,True)    #不能强行赋予Flase。

4.轮廓近似

我们假设要在下图中找一个矩形

20c298b324f5

但是这个图凹凸不平,直接提取轮廓无法提取到一个完美的矩形。因此我们就可以使用cv2.approxPolyDP(  )这个函数来近似这个形状了。这个函数的第二个参数epsilon,是从原始轮廓到近似轮廓的最大距离,是一个准确度参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值