Opencv之轮廓的面积和周长(附完整源码)

昨天我们讲了如何实现Opencv轮廓之:矩+重心,今天我们来看看Opencv之轮廓的面积和周长吧~

什么是轮廓的面积和周长呢?

就是我们常说的面积和周长,没有其他的特别意思。

如何实现轮廓的面积呢?

我们用函数:

  • area = cv2.contourArea(cnt)

如何实现轮廓的周长呢?

我们用函数:

  • perimeter = cv2.arcLength(cnt,True)

这个True表示图像是闭合的。

大家是不是忘了我们用的图像轮廓是什么样的了?

Opencv之轮廓效果图
轮廓效果图

我放下原图像:

Opencv轮廓原图像
原图像

有关于源码,请点这里:源码

好了,这下我们准备好实现了,上源码~

# -*- coding:utf-8 -*-
"""
Created on Tue Apr 4 20:01:42 2017

@author: Y

"""

import cv2
import numpy as np

img = cv2.imread('C:\Users\Administrator\Desktop\opencvimg\orginalp.png')
imgray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

ret,thresh = cv2.threshold(imgray,127,255,0)
print "   "

im2,contours, hierarchy = cv2.findContours(thresh, 1,2)

print "   "
cnt = contours[0]

#计算面积
print "    "
area = cv2.contourArea(cnt)
print "The area is:" , area

#计算周长
print "    "
perimeter = cv2.arcLength(cnt,True)
print "The perimeter is:" , perimeter

看看得到了什么结果吧~

Opencv之轮廓的面积和周长结果
得到的结果~

 

今天的内容就到这里啦,感谢各位小伙伴的陪伴,小伙伴们一定要加油,这条路不好走,希望坚定向前。我是Y,欢迎大家来我的博客做客,大家晚安啦~

《Opencv之轮廓的面积和周长(附完整源码)》有1个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注