专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
目录
相关文章推荐
笔吧评测室  ·  英伟达 RTX ... ·  2 天前  
笔吧评测室  ·  未来人类:英特尔酷睿 Ultra 9 ... ·  2 天前  
笔吧评测室  ·  未来人类预热 X98、X96 ... ·  3 天前  
笔吧评测室  ·  联想商用笔记本新系列悦 Plus16 ... ·  3 天前  
笔吧评测室  ·  聊一款适合本地运行DeepSeek R1的笔记本 ·  3 天前  
51好读  ›  专栏  ›  极市平台

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

极市平台  · 公众号  ·  · 2024-11-18 22:00

正文

↑ 点击 蓝字 关注极市平台
作者丨gloomyfish
来源丨OpenCV学堂
编辑丨极市平台

极市导读

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

前言

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

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

OpenCV解决

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

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

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

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::vector<std::string> logs;
  engine->run_workflow(frame, result, logs);

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

运行结果如下:


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

极市干货







请到「今天看啥」查看全文