美文网首页工作生活
opencv常用命令

opencv常用命令

作者: D_Major | 来源:发表于2019-07-04 17:25 被阅读0次

    读取图片并转换格式

    img = cv2.imread(path, mode=cv2.IMREAD_COLOR)
    if rgb:
        img = bgr2rgb(img)
    

    获取轮廓

    contours, _ = cv2.findContours(mask, mode = cv2.RETR_CCOMP, 
                                       method = cv2.CHAIN_APPROX_SIMPLE)
    

    输出[[807, 178]], [[807, 191]], [[812, 191]], [[812, 178]]

    最小外接矩

    rect = cv2.minAreaRect(contours)
    

    输出((809.5, 184.5), (13.0, 5.0), -90.0), 代表中心点, 到周围的距离(到短边的距离之和与到长边的距离之和?), 旋转角度

    从矩形得到坐标点

    box = cv2.boxPoints(rect)
    

    输出[812., 191.], [807., 191.], [807., 178.], [812., 178.]
    还需要经过一步操作变成int32的, uimg.points_to_contours(zip(box[:, 0], box[:, 1]))

    绘制BBox

    cv2.drawContours(image, box, -1, color=(0, 255, 0), border_width=1)
    

    将绘制了BBox的图片保存

    if rgb:
        img = rgb2bgr(img)
    cv2.imwrite(path, image) # 这步可以直接调用上一步中的image, 无需重新赋值
    

    相关文章

      网友评论

        本文标题:opencv常用命令

        本文链接:https://www.haomeiwen.com/subject/hovrhctx.html