专栏首页微卡智享【对比评测】OpenCV利用颜色分割获取数量

【对比评测】OpenCV利用颜色分割获取数量

前言

还记得这个图吗?前阵子有篇文章《【综合练习】C++OpenCV实战---获取数量》里面中我们利用学到了一些OpenCV的基本知识进行了数量的提取。当时算是完成了,可以看看文章中的实现思路

里面用到了距离变换,连通区域计算,还是归一化等一些API,比较烦所,其中里面一个最关键的问题是通过图像二值化后进行形态学操作,需要反复不停的测试找到一个合适的点才能把最左侧的两个枣区分开,上一章中我们学习了InRange利用HSV颜色分割,我们看看利用颜色分割和上次获取数量有什么不同。

实现思路

  • 利用HSV颜色进行分割
  • 形态学操作(一般用开操作即可)
  • 寻找轮廓并计算个数

看看上面的实现思路,对比前面我们那一篇,感觉是不是简化了不少,下面我们进行代码演示。

代码演示

我们再新建一个项目名为opencv--inrange,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法。

1.加载图像

2.高斯模糊,定义颜色并进行颜色分割

3.形态学操作,做两次开操作

4.寻找轮廓并画出轮廓

5.打印出轮廓个数及显示图像

接下来我们看看运行后的效果

左下角红色框里可以看到我们获取到的12个数量完全正确,左上角的我们的原图,右上角是最后找到轮廓后采用随机颜色画出来的形态,右下角的是在我们处理过程中通过HSV颜色分割和形态学操作后显示出来的临时图,从右下图中可以看出来,利用颜色分割最左边两个枣完全给分隔开了,不像我们前面那篇里面两个都粘在了一起,需要通过距离变换及连通区域计算进行处理。

随着我们学习的越来越多,在图像处理上就需要采用最优的策略进来行处理,单独写这篇文章,一个是可以回顾一下当时的一些做法,做一个巩固的复习,另一个就是想把新学到的东西看看能不能把以前做过的东西采用最优的方式提取出来,结果自己还是比较满意的,达到了最终的目的。


-END-

本文分享自微信公众号 - 微卡智享(VaccaeShare),作者:Vaccae

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++ OpenCV轮廓发现

    轮廓即是以某种方式表示图像中的曲线的点的列表。这种表示可以根据实际的情形不同而不同。表示一条曲线的方式有很多种。

    Vaccae
  • Android关于悬浮窗锁屏或截图后消失的问题解决方法

    其中第一篇就是里面有针对android8.0后怎么开启悬浮窗的权限问题,必须要把应用的顶层权限开启才可以使用。

    Vaccae
  • C++ OpenCV图像分割之分水岭分割

    前面我们说了两种分割方法,这一章我们说图像的分水岭分割。分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空...

    Vaccae
  • 云时代企业如何建设绿色数据中心(第一篇)

    建设绿色数据中心的必要性 中国目前是是全球最大的温室气体排放国,节能减排是“十二五”的重要工作内容。发改委在2013年就明确了首批10个行业的企业温室气...

    魏新宇
  • 如何关掉Eclipse里对于Maven下载包的校验值检查

    Maven clean install之后,遇到这个错误消息:Description Resource Path Location Type Archive ...

    Jerry Wang
  • 如何关掉Eclipse里对于Maven下载包的校验值检查

    Maven clean install之后,遇到这个错误消息:Description Resource Path Location Type Archive ...

    Jerry Wang
  • 看他怎么"折腾" (四)

    at同样也是一个模版函数,但与ptr不同的是,at返回的是一个“引用”,即一个别名,而且一般来讲不占用内存空间(具体与编译器先关)。同样呢,当发生错误时,at也...

    视界音你而不同
  • React 16.8.6 升级指南(react-hooks篇)

    从官方的态度可以很容易看出是十分重视hooks这个特性的,并且官方直言我们期望 Hook 能够成为人们编写 React 组件的主要方式。并且从笔者的实践过程来看...

    腾讯IVWEB团队
  • ARM要把芯片植入大脑,帮瘫痪病人重获行动能力

    允中 编译整理 量子位 报道 | 公众号 QbitAI 马斯克开了个广受关注的新公司NeuraLink开发脑机接口;Facebook也在上个月的开发者大会上,宣...

    量子位
  • 如何搭建高可用redis的集群(非常详细,适合新手)

    以前总结Redis 的一些基本的安装和使用,大家可以这这里查看Redis 系列文章:https://www.cnblogs.com/zhangweizhong/...

    架构师精进

扫码关注云+社区

领取腾讯云代金券