python opencv改变图像尺寸,python图像边缘opencv

  python opencv改变图像尺寸,python图像边缘opencv

  轮廓属性

  纵横比是对象边框的宽度和高度之比。

  $ $ r预期比率=\frac{Width}{Height} $$

  x,y,w,h=cv2。bounding rect(CNT)aspect _ ratio=float(w)/轮廓面积与外接矩形面积的比率。

  $ $ Extent=\ frac { Object Area } { Bounding Rectangle Area } $ $

  面积=CV2。轮廓面积(CNT) x,y,w,h=CV2。bounding rect(CNT)rect _ area=w * h Extent=float(area)/rect _ area 3轮廓区域与凸包区域的实体比率

  $ $ Extent=\ frac { Contou Area } {凸包面积} $$

  面积=cv。轮廓面积(CNT)外壳=cv。凸包(CNT) hull _ area=cv。轮廓面积(hull)实度=float (area)/hull _ area4圆的当量直径等于轮廓面积。

  $$当量直径=\ sqrt { \ frac { 4 \ times \轮廓区域} {凸包区域} } \四边形$$

  area=cv2 . contour area(CNT)equi _ diameter=NP . sqrt(4 * area/NP . pi)5方向就是物体朝向的角度。下面的方法也给出了长轴和短轴的长度。

  (x,y),(ma,ma),angle=cv2.fitellipse (CNT) 6蒙版和像素点在某些情况下,我们可能需要包含对象的所有点。您可以这样做:

  mask=np.zeros(imgray.shape,np.uint8)cv2.drawContours(mask,[cnt],0,255,-1) Pixel points=np.transpose (np .非零(mask))# Pixel points=cv2 . find非零(mask)这里给出了两个方法,一个使用Numpy函数,另一个使用OpenCV函数(最后一行注释)给出了相同的方法。结果是一样的,但略有不同。Numpy给出(行,列)格式的坐标,OpenCV给出(x,y)格式的坐标。所以答案基本可以互换。请注意,行=x,列=y .

  7最大值和最小值及其位置我们可以使用掩模图像来获得这些参数:

  Min _ val,max _ val,min _ loc,max _ loc=cv2.minmax loc (img ray,mask=mask) 8平均颜色或平均强度在这里,我们可以求出物体的平均颜色。或者它可以是灰度模式下物体的平均强度。我们用面具再次完成它。

  Ean _ val=cv2.mean (im,mask=mask) 9极点目标的顶部、底部、左侧和右侧点

  最左边=tuple(cnt[cnt[:0])。argmin()][0])最右边=tuple(cnt[cnt[:0]。arg max()][0])topmost=tuple(CNT[CNT[:1]。arg min()][0])bottom most=tuple(CNT[CNT[:1]。argmax()][0])

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: