python opencv 对象测量

import cv2 as cv  
import numpy as np  
  
def measure_object(img):  
    gray=cv.cvtColor(img,cv.COLOR_RGB2GRAY)  
    ret,binary=cv.threshold(gray,0,255,cv.THRESH_BINARY_INV|cv.THRESH_OTSU)  
#     cv.imshow("binary img",binary)  
    outImg,contours,hireachy=cv.findContours(binary,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE) 
#     print(contours)
    for i ,contour in enumerate(contours):  
        #轮廓面积  
        area=cv.contourArea(contour)  
        #轮廓外接矩形面积  
        area=cv.contourArea(contour)  
        x,y,w,h=cv.boundingRect(contour)  
#         #几何矩  
        mm=cv.moments(contour)  
        if mm['m00']!=0: 
            cx=mm['m10']/mm['m00']  
            cy=mm['m01']/mm['m00']  
            cv.circle(img,(np.int(cx),np.int(cy)),3,(0,255,0),-1)  
            cv.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)  
    cv.imshow("mo",img)  
  
src=cv.imread('shou.jpg')  
cv.imshow('def',src)  
measure_object(src)  
cv.waitKey(0)  
cv.destroyAllWindows()  

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值