【qt+opencv】七巧板识别

本文记录了在Qt环境中配置OpenCV进行图像处理遇到的坑,包括编译器选择(MinGW与MSVC的区别)、最大类间方差法解决图片处理问题,以及如何利用轮廓和颜色标记实现联通区域识别。作者通过findContours函数获取有序轮廓,并使用drawContours填充颜色来标记联通区域。
摘要由CSDN通过智能技术生成

先上成果:
效果示例
技术关键:
自适应阈值、标记法求联通区域。

记录一下坑:
1.因为是要在Qt开发,并且要用的opencv,以前一直是在VS下开发opencv相关的项目,就直接搜怎么在Qt下进行opencv开发。这个坑其实是自己大意了掉进去了,按部就班看着网上教程去配置,前面opencv的环境配置我都是直接跳过,直接看最后INCLUDEPATHS和LIBS部分要咋写,但是无论是哪个博客的教程,我去按自己路径相应地仿照配置,头文件都能读到,但调用opencv的语句都会报错。
后来才发现这其中是MVSC和MinGw的原因,在创建qt工程都一路点下去,没注意到kits的选择…
这个问题实在是太不应该犯了。
2.我使用的图片都是那种手机拍摄的,不是电脑绘制的图片,这让我在图像处理吃了瘪,后来使用了最大类间方差法解决的,直接搜getThreshVal_Otsu_8u这个就懂了。
3.联通区域,opencv貌似没有现成的函数,但是可以利用轮廓以及颜色标记去模拟实现?
举个例子
在这里插入图片描述
先绘制好所有物体的轮廓,然后注意findContours这个函数是能保证轮廓是有序的,然后再按顺序i依次给这三个轮廓上色,上色的方法就是drawContours里使用填充(-1)。然后遍历整一副图像,判断特征颜色,即利用i去标记。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值