opencv——轮廓层次结构

1、轮廓层次结构

#!/usr/bin/env python3
# encod:utf8

import cv2 as cv


def splitContour(img, flag=True):
    contours, hierarchy = cv.findContours(img, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)[-2:]
    print(hierarchy)
    if flag:
        i = 0
        for i in range(len(hierarchy[0])):
            if (hierarchy[0][i][0] != -1 and hierarchy[0][i][3] == -1) or (
                    hierarchy[0][i][0] == -1 and hierarchy[0][i][1] != -1 and hierarchy[0][i][3] == -1):
                x, y, w, h = cv.boundingRect(contours[i])
                temp = img[y:y + h, x:x + w]
                cv.imshow('temp', temp)
                cv.waitKey(0)
    else:
        for cnt in contours:
            x, y, w, h = cv.boundingRect(cnt)
            temp = img[y:y + h, x:x + w]
            cv.imshow('temp', temp)
            cv.waitKey(0)


def main():
    img_path = 'plate.png'
    gray = cv.imread(img_path, 0)
    splitContour(gray, flag=True)
    # splitContour(gray, flag=False)


if __name__ == '__main__':
    main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值