如何仅显示图像中的矩形?

时间:2019-03-31 13:12:14

标签: python image-processing

我被赋予了这个功能:

import matplotlib.patches as mpatches

from skimage.measure import regionprops

import math

facteurforme = lambda r: (4 * math.pi * r.area) / (r.perimeter * r.perimeter)

circ = lambda r: (r.perimeter)/(r.equivalent_diameter)

我应该完成代码以仅检测由圆形和矩形组成的图像中的矩形,然后使用Python 3将检测到的形状放在框中。

我会知道如何使用facteurforme

请帮助!。

1 个答案:

答案 0 :(得分:2)

facteurformelambda

  

Lambda表达式(有时称为lambda形式)用于创建   匿名函数。表达式lambda参数:表达式   产生一个函数对象。未命名对象的行为类似于函数   对象定义为:

     

def <lambda>(parameters): return expression

由于您应该使用regionpropsfacteurforme使用r.arear.perimeter(这是regionprops的属性),因此显然应该使用一组区域属性作为lambda的论点。

facteureforme为给定的一组区域属性计算isoperimetric quotient

该商对一个圆来说只有1(在非理论情况下非常接近1),对其他任何东西都更少。您可以使用此值来区分圆形和矩形。

另请参见Shape Factor: Circularity

r.equivalent_diameter应该重命名为r.equivalent_diameterfloat

要开始做功课,建议您在网上搜索regionprops教程/示例