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图像平滑之2D卷积

今天我们来认识一下Opencv图像平滑之2D卷积。

啥是2D卷积呢?

要想明白什么是2D卷积,我们首先要明确两个概念:

LPF和HPF

  • LPF:低通道滤波,用来去除噪音,模糊图像。
  • HPF:高通道滤波,用来找到图像的边缘。

-卷积就是用多种方法处理频域特征

-我还是看不懂

算啦,我们先来看下具体函数

  • cv.filter2D()

这一章难道就结束了吗?

no。no。以后我们还要学习一系列2D卷积的方法

Opencv图像模糊(图像平滑)

Opencv高斯模糊

Opencv中值模糊

Opencv双边滤波

 

今天我们主要来看下2D卷积之使用平均滤波器。

我们看下这个平均滤波器的效果吧。

这是效果图~
再来看一张效果图~

啊!我的眼睛又瞎了!怎么这几张这么折磨人的眼睛啊!

我们看下原图

lemongrowup原图像
这张可爱的海豹宝宝就是原图像

为啥命名原图像和orginal的图像不同呢?

这个我暂时也没有搞明白,等会的人来指导我~

我们可以看下源码,

这些天我们谈的都差不多,

就是改了个函数与参数的问题。

# -*- coding:utf-8 -*-
"""
Created on Thu Mar 9 21:35:22 2017

@author: Y

"""

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('C:\Users\Administrator\Desktop\opencvimg\haibaobaobao.jpg')



#同样的道理,先定义个参数
kernel = np.ones((5,5),np.float32)/25
#cv2.filter2D的参数同那些我们遇到的一样
dst = cv2.filter2D(img,-1,kernel)


plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]),plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Averaging')
plt.xticks([]),plt.yticks([])
plt.show()

 

今天就到这里啦,欢迎大家来我的博客做客,如果大家喜欢我的网站,可以转发给更多的人看。今天的内容不多,希望大家可以趁机复习原来的知识。原创不易,希望大家珍惜。我是Y,大家晚安~