如何用OpenCV实现复杂形状的精准识别与识别技巧分享?
- 内容介绍
- 文章标签
- 相关推荐
本文共计938个文字,预计阅读时间需要4分钟。
目录+前言+一、图像预处理+二、形状识别+三、源码+四、结果展示+总结+前言+案例示例:通过使用OpenCV中的approxPolyDP函数进行多边形近似,进而进行基础形状识别(圆形、三角形、矩形、星形)。
目录
- 前言
- 一、图像预处理
- 二、形状识别
- 三、源码
- 四、结果显示
- 总结
前言
本案例通过使用OpenCV中的approxPolyDP进行多边形近似,进而进行基础形状识别(圆、三角形、矩形、星形…)。下面就一起来看看具体是如何实现的吧。
一、图像预处理
原图如图所示:
首先第一步先进行图像预处理,得到二值图像。
Mat gray; cvtColor(src, gray, COLOR_BGR2GRAY); Mat gaussian; GaussianBlur(gray, gaussian, Size(3, 3), 0); Mat thresh; threshold(gaussian, thresh, 0, 255, THRESH_BINARY_INV | THRESH_OTSU);
结果如图所示。接下来,需要对此二值图像进行轮廓提取,进而识别物体形状。
本文共计938个文字,预计阅读时间需要4分钟。
目录+前言+一、图像预处理+二、形状识别+三、源码+四、结果展示+总结+前言+案例示例:通过使用OpenCV中的approxPolyDP函数进行多边形近似,进而进行基础形状识别(圆形、三角形、矩形、星形)。
目录
- 前言
- 一、图像预处理
- 二、形状识别
- 三、源码
- 四、结果显示
- 总结
前言
本案例通过使用OpenCV中的approxPolyDP进行多边形近似,进而进行基础形状识别(圆、三角形、矩形、星形…)。下面就一起来看看具体是如何实现的吧。
一、图像预处理
原图如图所示:
首先第一步先进行图像预处理,得到二值图像。
Mat gray; cvtColor(src, gray, COLOR_BGR2GRAY); Mat gaussian; GaussianBlur(gray, gaussian, Size(3, 3), 0); Mat thresh; threshold(gaussian, thresh, 0, 255, THRESH_BINARY_INV | THRESH_OTSU);
结果如图所示。接下来,需要对此二值图像进行轮廓提取,进而识别物体形状。

