巫山雨_fz 2021-12-19 22:52 采纳率: 74.1%
浏览 34
已结题

最大轮廓的下一层子轮廓怎么查找

import numpy as np
        cnts, hierarchy  = cv2.findContours(edged, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
        area = []
        for k in range(len(cnts)):
                area.append(cv2.contourArea(cnts[k]))
        max_id = np.argmax(np.array(area))
        cnt = cnts[max_id]
        a=np.array(hierarchy)
        cv2.drawContours(self.image, cnts[max_id:child_end],-1, (0, 255, 0), 7)

需要画出最大面积轮廓的所有下一层子轮廓,最大面积轮廓的索引max_id有了,下一层子轮廓是排在父轮廓后面,只要得到最后一个下一层子轮廓的索引,就可以确定轮廓号的范围,但是怎么得到下一层子轮廓的最后一个索引child_end呢,层级关系是一个一行四列的数组,其中第四列是记录父轮廓parent,比如:

hierarchy
array([[[ 7, -1,  1, -1],
[-1, -1,  2,  0],
[-1, -1,  3,  1],
[-1, -1,  4,  2],
[-1, -1,  5,  3],
[ 6, -1, -1,  4],如何查找这个4所在这一行索引
[-1,  5, -1,  4],如何查找这个4所在这一行索引
[ 8,  0, -1, -1],
[-1,  7, -1, -1]]])
如何查找第四列父轮廓parent等于4的索引呢?
child_end=max(np.where(a[3]==4))吗?似乎不行

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-12-20 10:33
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月21日
  • 修改了问题 12月20日
  • 修改了问题 12月20日
  • 修改了问题 12月20日
  • 展开全部

悬赏问题

  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写