def FindContourSinge(k_class, mask_k, contours_info, img_show, times=0): contours, _ = cv2.findContours( mask_k, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE) for i, c in enumerate(contours): area = cv2.contourArea(c) print(f"area {i}:{area}") if area < 200: # 去除小轮廓 continue
时间: 2024-03-31 07:32:59 浏览: 48
Chapter-07.zip_C contours_extracting lines_lines
这段代码定义了一个名为FindContourSinge的函数,用于在给定的二值图像mask_k中查找轮廓信息,并将这些轮廓信息存储到contours_info列表中。同时,函数还会在img_show上绘制这些轮廓,并通过times参数控制绘制轮廓的次数。具体来说,函数的执行步骤如下:
1.使用cv2.findContours函数在mask_k中查找轮廓信息,并将其存储到contours列表中;
2.遍历contours列表中的每个轮廓,计算其面积area;
3.如果area小于200,则认为这个轮廓是无效的,直接跳过;
4.否则,将轮廓信息存储到contours_info列表中,并在img_show上绘制该轮廓;
5.根据times参数控制绘制轮廓的次数。
需要注意的是,该函数的实现基于OpenCV的cv2模块,因此在使用前需要先导入cv2模块。
阅读全文