OpenCV案例|基于轮廓分析对象提取

未分类2周前发布 tree
15 0 0
↑ 点击蓝字 关注极市平台
OpenCV案例|基于轮廓分析对象提取
作者丨gloomyfish
来源丨OpenCV学堂
编辑丨极市平台

极市导读

 

本文介绍了如何使用OpenCV进行轮廓分析以提取图像中的白色区域,并提供了详细的工作流程和代码示例,展示了从图像预处理到轮廓检测和面积计算的完整步骤。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

前言

问:基于OpenCV如何找到白色区域,有什么思路?OpenCV方法有什么好的思路吗?找到下面的图中两个白色区域的方法。

OpenCV案例|基于轮廓分析对象提取

其实就是用轮廓分析搞定。

OpenCV解决

基于OpenCV实验大师工具软件1.1 设计的流程如下:

OpenCV案例|基于轮廓分析对象提取

最终每一步的运行结果如下:

OpenCV案例|基于轮廓分析对象提取
OpenCV案例|基于轮廓分析对象提取
OpenCV案例|基于轮廓分析对象提取
OpenCV案例|基于轮廓分析对象提取
OpenCV案例|基于轮廓分析对象提取

面积计算数据跟统计结果如下:

OpenCV案例|基于轮廓分析对象提取

OpenCV工作流引擎SDK支持

通过导出的vm配置文件,加载到工作流引擎,可以实现流程复用,处理多张图像,支持的SDK调用代码如下:

#include "main_workflow.h"
#include 
#include 

int main(int argc, char** argv) {
  std::shared_ptr engine(new QTongCoreCVWorkFlow());
  bool succ = engine->initWorkFlow("D:/12121.vm""69585e470300cdb5a6910131eb639882");
  if (!succ) {
    std::cout "Could not load workflow file here..." std::endl;
    return -1;
  }
  cv::Mat frame = cv::imread("D:/facedb/CT_Testing/nCovAg6.bmp");
  cv::namedWindow("OpenCV实验大师 C++工作流引擎演示", cv::WINDOW_NORMAL);
  cv::Mat result;
  std::vectorstd::string> logs;
  engine->run_workflow(frame, result, logs);

  cv::imshow("OpenCV实验大师 C++工作流引擎演示", result);
  cv::waitKey(0);
  cv::destroyAllWindows();
  return 0;
}

运行结果如下:

OpenCV案例|基于轮廓分析对象提取

OpenCV案例|基于轮廓分析对象提取

公众号后台回复“数据集”获取100+深度学习各方向资源整理

极市干货

技术专栏:多模态大模型超详细解读专栏搞懂Tranformer系列大视觉模型 (LVM) 解读扩散模型系列极市直播
技术综述:小目标检测那点事大模型面试八股含答案万字长文!人体姿态估计(HPE)入门教程

OpenCV案例|基于轮廓分析对象提取

点击阅读原文进入CV社区

收获更多技术干货

© 版权声明

相关文章

暂无评论

暂无评论...