当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
3 Star 17 Fork 5

bluemiaomiao / ImageFound
暂停

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

ImageFound

ImageFound是一个使用OpenCV3.3+MSVC2017(Visual Studio 2017)构建的图形识别项目,ImageFound可以检测各种图形及其颜色信息

可以检测的图形

  • 三角形
  • 正方形
  • 长方形
  • 菱形
  • 圆形
  • 五边形
  • 六边形
  • 五角星
  • 由不同颜色的两个三角形构成的特殊矩形

示例图片

实现思路

读取图像,进行一大堆判断,来检测图像在不在呀,什么类型呀,什么的。然后就是拷贝了3份,一份用于检测圆,另一份用于检测其他图形,再一份就是用于显示最终结果和保存。检测图片中的圆使用了霍夫圆检测算法。检测其他图形先用Canny边缘检测,再用轮廓发现,最后进行多边形拟合判断图形有几条边。在四边形的判断中,比较复杂。

  • 菱形的判断

读取轮廓上的第一个点,然后计算出中心点,看一下第一个点的XY坐标是否与中心点的一个坐标大约相等。

  • 特殊双色四边形的判断

计算出中心点以后,上下左右分别移动产生四个点,计算色差即可。

  • 正方形的判断

计算轮廓上第一个点到中心点的X方向距离是否和Y方向距离大约相等。

  • 长方形的判断

同上。

  • 圆和星星的判断

在检测时发现有时候圆和星星有可能被误识别,通过获取轮廓上第一个点和图形的中心点。计算两点的距离,使用圆的面积公式求面积。在使用OpenCV3.3中自带的轮廓区域面积函数获取面积。通过比较来判断是圆形还是星星,因为同等距离的星星的面积比圆小。

识别结果示例

结果示例

MIT License Copyright (c) 2020 bluemiaomiao Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个使用OpenCV3.3构建的图形识别项目 展开 收起
C++
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/bluemiaomiao/ImageFound.git
git@gitee.com:bluemiaomiao/ImageFound.git
bluemiaomiao
ImageFound
ImageFound
master

搜索帮助