概述:
最近在做跟语义分割有关的变化检测方向的工作。当遇到模型的输出是一张mask图的情况下,单纯用肉眼看检测的效果可能不是很直观。
这时我们可以利用python脚本,调用opencv的cv2.connectedComponentsWithStats这个库,来获取mask连通图中的左上角和右下角的x,y坐标。最后用cv2.rectangle画出矩形框。
参考:https://zhuanlan.zhihu.com/p/59486758
参考的文章作者没有考虑到mask图存在好几个检测框或者没有检测框的情况,我在这个基础上做了改进,并且支持批量转化。
可视化结果:


代码:
import os
import cv2
def mask_find_bboxs(mask):
retval, labels, stats, centroids = cv2.connectedComponentsWithStats(mask, connectivity=8) # connectivity参数的默认值为8
stats = stats[stats[:, 4].argsort()]

本文介绍如何使用Python和OpenCV库将语义分割的mask图转化为直观的可视化矩形框,通过坐标计算和cv2.rectangle实现多框检测效果的展示,适用于复杂场景的模型评估。
最低0.47元/天 解锁文章
3544

被折叠的 条评论
为什么被折叠?



