当前位置: 首页 > web >正文

OpenCV定位地板上的书

任务目标是将下面的图片中的书本找出来:

使用到的技术包括:转灰度图、提取颜色分量、二值化、形态学、轮廓提取等。

我们尝试先把图片转为灰度图,然后二值化,看看效果:

可以看到,二值化后,书的边缘有很大一部分跟背景混在一起了。这虽然能接着处理,但会提高处理的难度以及质量。究其原因,是因为转为灰度图后,书本的灰度跟地板非常接近。但实际上,原彩色图中,书本是明显的黄色,跟地板差异很大。这一信息将给我们带来帮助。

将图片转至HSV空间,可以看到,在S通道中,书本跟地板的差异很大:

现在进行二值化,可以看到二值化的效果比之前要好很多:

现在图上有一条细线,可以通过形态学的开运算删除:

为了让感兴趣区域形成一个整体,可以再运用形态学闭运算:

现在的图已经是一个连通区域,可以生成轮廓,然后计算出外包矩形即可。

可以看到,最后的绿框刚好包围了书本。任务完成。

http://www.xdnf.cn/news/4604.html

相关文章:

  • 中介者模式(Mediator Pattern)详解
  • 前端面经--网络通信与后端协作篇--XMLHttpRequest、axios、fetch、AbortController
  • 代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
  • MySQL概念简介
  • C++ stl中的vector的相关用法 迭代器失效问题
  • Linux中的线程安全与线程同步详解
  • MySQL的深度分页如何优化?
  • NetSuite 销售订单折扣项目相关设置
  • 若依前后端分离项目中可以删除哪些原若依有的?
  • mysql中执行select命令的顺序
  • PE文件结构(导入表)
  • 【AI论文】
  • JavaSE核心知识点01基础语法01-05(字符串)
  • 进程与线程详细介绍
  • 如何使用 QuickAPI 连接 PostgreSQL 数据库并将PostgreSQL数据发布成API?
  • 嵌入式开发学习日志Day15
  • AI恶魔之眼使用说明书
  • Spring Bean 的创建流程
  • 分布式id的两大门派!时钟回拨问题的解决方案!
  • 单调栈原理
  • vtkSmartPointer<vtkPolyData> 常用的函数方法
  • Spring Boot 多数据源事务管理
  • async/await的另一种食用方法
  • vue-quill-editor的失焦事件
  • 分布式架构详解
  • #黑马点评#(一)登录功能
  • 数字化转型-4A架构之应用架构
  • 鸿蒙编译boost
  • 浅谈微前端沙箱机制
  • 报表分析报告怎么写?零基础掌握报表分析三要素!