自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 OpenCV C++ 图像处理实战 ——《物体数量计数与尺寸测量》

本文使用OpenCV C++ 实现物体数量计数与尺寸测量,关键点如下1、图像成像质量不佳时会影响到后续的二值化分割,故我们需要对图像进行图像增强处理,可以多尝试几种不同的图像增强算法。2、图像二值化与形态学处理,这是物体轮廓提取的关键。这步处理得好,后续就可以简化很多步骤。3、轮廓提取。根据二值化轮廓特征,使用轮廓面积、周长、宽高比、圆形度、多边形近似等特征提取我们想要的轮廓。

2024-03-16 11:09:11 1066

原创 OpenCV C++ 图像处理实战 ——《多尺度自适应Gamma矫正的低照图像增强》

本文使用OpenCV C++ 实现多尺度自适应Gamma矫正的低照度图像增强。首先将低照图像转换到 HSI 颜色空间,利用多尺度的 Retinex 提取明度分量 I 的多尺度光照图像,然后对多尺度的光照图像分别进行自适应的 Gamma矫正,其中 Gamma 指数自适应于光照图像的暗区像素的占比。

2024-01-11 19:32:26 687

原创 OpenCV基础篇

OpenCV基础篇文章已经在公众号更新完啦!!!

2023-12-09 12:26:37 639

原创 OpenCV图像处理、计算机视觉实战应用

基于OpenCV C++分享一些图像处理、计算机视觉实战项目。不定期持续更新,干货满满,附源码测试图像。

2023-11-18 12:17:14 1062 1

原创 OpenCV C++ 图像处理实战 ——《OCR字符识别》

本文使用OpenCV C++ 实现OCR字符识别。

2023-11-18 11:47:41 2035

原创 OpenCV C++ 图像处理实战 ——《多二维码识别》

本文使用OpenCV C++ 实现多二维码识别。

2023-11-11 12:35:19 1437

原创 OpenCV C++ 图像处理实战 ——《基于NCC多角度多目标匹配》

本文使用OpenCV C++ 基于NCC实现多角度多目标模板匹配。

2023-11-05 11:31:36 1920

原创 OpenCV C++ 图像处理实战 ——《缺陷检测》

本案例使用OpenCV C++ 基于模板匹配进行PCB印刷缺陷检测。

2023-10-28 11:06:47 1818 1

原创 OpenCV C++案例实战三十三《缺陷检测》

本案例将使用OpenCV C++ 进行PCB印刷缺陷检测。目前缺陷检测算法可分为两大类:一:基于模板匹配的缺陷检测二:基于深度学习的缺陷检测,主要利用目标检测去识别缺陷部分。本文算法主要是基于模板匹配算法进行缺陷检测,参考《基于差异模型的印刷标签缺陷检测算法》一文,进行算法复现,感兴趣的朋友可以去阅读一下原文。本文使用OpenCV C++ 进行PCB印刷缺陷检测,主要操作有以下几点。1、将图像进行仿射变换,与模板图像进行配准2、计算差异图像,得到基于模板的亮、暗阈值图像。

2023-09-02 10:13:13 5057 6

原创 OpenCV C++案例实战三十二《字符识别》

本案例将使用OpenCV C++ 进行字符识别。主要包括制作数据集、以及模型预测两部分。先看看效果如何吧。本文使用OpenCV C++ 进行字符识别,主要操作有以下几点。1、制作数据集,利用键盘输入字符相应的ASCII码2、进行KNN训练,得到训练模型3、将预测结果转回相应的字符char类型。

2023-05-08 19:18:43 4920 1

原创 OpenCV C++案例实战三十一《动态时钟》

本案例将使用OpenCV C++实现动态时钟效果。原理也很简单,主要分为绘制表盘、以及获取系统时间两步。本文使用OpenCV C++ 进行动态时钟绘制,主要操作有以下几点。1、图像预处理,绘制表盘2、绘制表盘刻线3、获取系统时间,注意角度与时间之间的转换。

2023-05-03 11:58:49 1799 5

原创 OpenCV C++案例实战三十《中文点选验证码识别》

相信大家在登陆某个网站时或多或少都会经历过需要验证码才能登陆。常见的验证码方式有字符输入验证码、滑动条拼图验证码以及字符点选验证码。本案例要实现的是中文字符点选验证。本案例逻辑算法仅为本人为实现此功能所设计,供大家参考交流。本文使用OpenCV C++ 进行中文点选验证码识别,主要操作有以下几点。1、图像预处理,提取出字符轮廓并进行切割2、使用鼠标响应事件进行字符点选,即三次有效字符点选3、字符匹配,即按点选顺序与模板顺序进行字符比较4、只有鼠标点击字符与点击顺序都符合要求时,才会验证通过。

2022-10-04 18:29:46 4589 7

原创 OpenCV C++案例实战二十九《遥感图像分割》

本案例基于k-means机器学习算法进行遥感图像分割。主要是用到了OpenCV 中的kmeans API。关于kmeans聚类算法原理大家自行查找资料学习,也比较容易理解,我这里就示范一下如何调用OpenCV中的API进行图像分割。本文使用OpenCV C++ 进行遥感图像分割,主要操作有以下几点。1、将图像像素灰度存储为mat数据格式,用于kmeans分类。2、进行像素分类以及结果显示。

2022-09-17 15:42:44 2671

原创 OpenCV C++案例实战二十八《手写数字识别》

本案例通过使用machine learning机器学习模块进行手写数字识别。源码注释也写得比较清楚啦,大家请看源码注释!!!本文使用OpenCV C++ 利用ml模块进行手写数字识别,源码注释也比较详细,主要操作有以下几点。1、数据集划分为训练集与测试集2、进行KNN训练3、进行模型预测以及结果显示。...

2022-08-07 10:40:59 5079 1

原创 OpenCV C++案例实战二十七《角度测量》

本案例通过使用OpenCV中的鼠标点击事件进行物体角度测量。以鼠标点击三点确定一个角度。第一个点即为需要测量角度所在位置点(中心点),第二、三点确定角度。本文使用OpenCVC++进行物体角度测量,主要操作有以下几点。1、利用鼠标响应事件取点,三点确定一个角度2、利用两直线角度公式计算直线角度,注意弧度转角度3、绘制圆弧,便于显示。注意某一点绕任意点旋转θ角度后的坐标计算公式。httpshttpshttpshttpshttps。......

2022-07-16 11:05:51 4772 1

原创 OpenCV C++案例实战二十六《填空题区域检测》

本案例通过使用OpenCV中的霍夫直线检测HoughLinesP进行填空题区域检测(说白了就是进行直线检测),实现起来也很简单。原图如图所示:首先第一步先进行图像预处理,得到二值图像。通过使用大津阈值进行图像二值化处理,如下图所示,得到一幅二值图像。接下来,需要提取出二值图中直线部分。由图像特征可以看出,直线部分又长又细,所以可以使用形态学操作对图像进行腐蚀操作,仅保留直线部分。在这里我使用的是形态学开操作(先腐蚀,后膨胀)保证能完整的提取出直线部分。由于直线部分又长又细,所以我们在创建kernel时,S

2022-07-10 10:41:26 1497

原创 OpenCV C++案例实战二十五《形状识别》

本案例通过使用OpenCV中的approxPolyDP进行多边形近似,进而进行基础形状识别(圆、三角形、矩形、星形…)。下面就一起来看看具体是如何实现的吧。原图如图所示:首先第一步先进行图像预处理,得到二值图像。结果如图所示。接下来,需要对此二值图像进行轮廓提取,进而识别物体形状。本案例使用approxPolyDP进行形状识别,关于approxPolyDP OpenCV给出的定义是:void approxPolyDP(InputArray curve, OutputArray approxCurve,

2022-07-09 10:26:32 4818

原创 OpenCV C++案例实战二十四《多目标匹配》

本案例要实现的功能是使用OpenCV中的matchTemplate实现多目标匹配。熟悉matchTemplate这个API的小伙伴都知道,仅仅单一使用matchTemplate的话只能实现单一目标匹配,而不能实现多目标匹配。那么接下来我们就一起看看如何使用matchTemplate实现多目标匹配吧。首先加载测试图像与模板图像,如下图所示:测试图像:模板图像:我们的最终目的是在测试图像中找到所有模板图像的物体,并把它框出来。首先将图像灰度化、去噪然后调用matchTemplate进行模板匹配,ma

2022-06-04 10:49:26 5224 20

原创 OpenCV C++案例实战二十三《网孔检测》

OpenCV C++案例实战二十三《网孔检测》前言一、HSV通道转换二、图像修复2.1 OpenCV函数实现2.2 MyFunction三、轮廓提取四、效果显示五、源码总结前言前段时间,有位粉丝私信我,给我发了一张图片,如下图所示:在这里贴出他的原话。从他给的图片分析,该图存在遮挡,所以不能简单的二值化,然后提取图像轮廓去寻找结果。所以,我就想如何去掉这些遮挡物(即图像修复)。从图像可知,该遮挡物是黄色的线,所以,我就想可否使用hsv色彩空间提取出黄色,然后得到二值掩模图像,最后对原图进行修复

2022-05-02 11:26:38 7164

原创 OpenCV C++案例实战二十二《手势识别》

OpenCV C++案例实战二十二《手势识别》前言一、手部关键点检测1.1 功能源码1.2 功能效果二、手势识别2.1算法原理2.2功能源码三、结果显示3.1功能源码3.2效果显示四、源码总结前言本文将使用OpenCV C++ 实现手势识别效果。本案例主要可以分为以下几个步骤:1、手部关键点检测2、手势识别3、效果显示接下来就来看看本案例具体是怎么实现的吧!!!一、手部关键点检测如图所示,为我们的手部关键点所在位置。第一步,我们需要检测手部21个关键点。我们使用深度神经网络DNN模块来完成

2022-04-02 11:47:41 13982 45

原创 OpenCV C++案例实战二十一《制作视频播放器》

OpenCV C++案例实战二十一《制作视频播放器》前言一、源码二、效果总结前言本文将使用OpenCV C++ 制作简易视频播放器,用于实现视频播放基本功能。1、通过创建滑动条来拖动视频画面。2、通过按下空格键实现视频播放与暂停。3、通过键盘←键实现向后快进4、通过键盘→键实现向前快进原理都很简单,通过OpenCV键盘响应事件waitKey实现。通过cap.get(CAP_PROP_POS_FRAMES)获取当前视频播放位置;通过cap.set(CAP_PROP_POS_FRAMES, g_

2022-03-11 19:59:46 7575 2

原创 OpenCV C++案例实战二十《银行卡号识别》

OpenCV C++案例实战二十《银行卡号识别》前言一、获取模板图像1.1 功能效果1.2 功能源码二、银行卡号定位2.1 将银行卡号切割成四块2.1.1 功能效果2.1.2 功能源码2.2 字符切割2.2.1 功能效果2.2.2 功能源码三、字符识别3.1.读取文件3.2.字符匹配3.3.功能源码四、效果显示4.1 功能源码4.2 效果显示五、源码5.1 hpp文件5.2 cpp文件5.3 main文件总结前言本文将使用OpenCV C++ 进行银行卡号识别。主要步骤可以细分为:1、 获取模板图像

2022-01-22 14:32:27 9529 14

原创 OpenCV C++案例实战十九《制作电子相册查看器》

OpenCV C++案例实战十九《制作电子相册查看器》前言一、图片读取二、图片展示三、键盘控制四、效果显示五、源码总结前言本文将使用OpenCV C++ 制作电子相册查看器。类似于win10系统的“照片”功能。接下来就具体来看看是如何一步步的实现吧。一、图片读取我们想要一张张的查看文件夹下的图片,第一步就得读取将该文件夹下的所有图片。如上图所示,为我创建的文件夹,该文件夹下有14张图片。接下来我们就编写代码读取该文件夹下的所有图片。将读取到的图片存储在images容器。 //读取文件夹下所有

2022-01-15 10:56:29 3853 1

原创 OpenCV C++案例实战十八《抖音特效——“蓝线挑战”》

OpenCV C++案例实战十八《抖音特效——“蓝线挑战”》前言一、图像扫描二、生成定格图像三、图像混合四、效果显示五、源码总结前言本文将使用OpenCV C++ 实现抖音上的特效“蓝线挑战”。虽然看起来觉得很牛的样子,但如果了解其中的原理就非常简单了。本案例是我自己对于这个特效实现过程的理解,仅供参考。算法原理可以分为三个流程:1、将视频(图像)从(顶->底)或(左->右)逐行(列)扫描图像。2、将扫描完成的行(列)像素重新生成定格图像。3、使用原帧图像像素填充未扫描到的像素。

2022-01-14 19:00:38 4975 2

原创 OpenCV C++案例实战十七《图像去水印》

OpenCV C++案例实战十七《图像去水印》前言一、水印定位二、图像修复三、效果显示四、源码总结前言本文将使用OpenCV C++ 进行简单图像水印去除。我们在网上download图片时,经常因为版权问题有水印。本案例通过编写算法进行简单水印去除。一、水印定位如图所示,图像左下角、右下角有水印。第一步,我们首先得定位水印所在位置。 Mat gray; cvtColor(src, gray, COLOR_BGR2GRAY); //图像二值化,筛选出白色区域部分 Mat thresh;

2022-01-13 19:11:44 4598 4

原创 OpenCV C++案例实战十六《制作哈哈镜图像》

OpenCV C++案例实战十六《制作哈哈镜图像》前言一、凸透镜1.功能源码2.效果显示二、凹透镜1.功能源码2.效果显示三、源码总结前言本文将使用OpenCV C++ 制作哈哈镜图像。其实原理很简单,就是让图像像素扭曲,将像素重新进行映射。假设输入图像宽w,高h。图像中心点坐标(cx,cy),图像任意像素点(x,y)到中心点距离 dx=(x-cx),dy=(y-cy),变换半径r。一、凸透镜制作凸透镜效果(将图像放大)。根据网上查找的变换公式: 图像放大:凸透镜 x = (dx / 2

2022-01-09 14:37:04 3015 2

原创 OpenCV C++案例实战十五《制作九宫格图像》

OpenCV C++案例实战十五《制作九宫格图像》前言一、九宫格图像二、源码三、效果显示总结前言本文将使用OpenCV C++ 制作九宫格图像。其实原理很简单,就是将一张图像均等分成九份。然后将这九个小块按一定间隔(九宫格效果)拷贝到新画布上就可以啦。一、九宫格图像原图如图所示。本案例的需求是希望将图像均等分成九份,制作九宫格图像。首先得将原图均等分成九份。如图所示。将原图均等分成九份,然后将这每一个小方块按照一定的间隔(九宫格效果)拷贝到新图像就可以了。具体算法思想请看源码注释。二、源码

2022-01-08 19:27:29 2861 1

原创 OpenCV C++案例实战十四《图像修复》

OpenCV C++案例实战十四《图像修复》前言一、OpenCV inpaint二、源码三、效果显示总结前言本文将使用OpenCV C++ 对有瑕疵的图像进行修复。OpenCV 提供了inpaint API可进行图像修复。一、OpenCV inpaint原图如图所示。本案例的需求是希望能够将图像上的红线给消除。OpenCV 提供的inpaint API能够实现这个效果。void inpaint(InputArray src, 原图InputArray inpaintMask, 二进制

2022-01-08 19:04:25 5604 2

原创 OpenCV C++案例实战十三《人脸打马赛克》

OpenCV C++案例实战十三《人脸打马赛克》前言一、人脸检测二、马赛克效果三、效果显示四、源码总结前言本文将使用OpenCV C++ 对人脸部位打上马赛克。实现步骤其实很简单。1、人脸检测。2、图像像素修改一、人脸检测原图如图所示。本案例的需求是将人脸部位打上马赛克。所以,第一步我们首先需要检测出人脸的位置。OpenCV提供harr级联检测器检测人脸。 //人脸检测配置文件 string harr_file = "haarcascade_frontalface_default.xm

2022-01-07 19:20:23 3827 1

原创 OpenCV C++案例实战十二《图像全景拼接》

OpenCV C++案例实战十二《图像全景拼接》前言一、OpenCV Stitcher1.功能源码2.效果二、图像全景拼接1.特征检测2.计算单应性矩阵3.透视变换4.图像拼接5.功能源码6.效果三、源码总结前言本文将使用OpenCV C++ 进行图像全景拼接。目前使用OpenCV对两幅图像进行拼接大致可以分为两类。一、使用OpenCV内置API Stitcher 进行拼接。二、使用特征检测算法匹配两幅图中相似的点、计算变换矩阵、最后对其进行透视变换就可以了。一、OpenCV Stitcher

2022-01-02 12:14:01 14376 40

原创 OpenCV C++案例实战十一《基于背景减除---行人计数》

OpenCV C++案例实战十一《基于背景减除---行人计数》前言一、图像预处理二、对象计数1.轮廓提取2.效果显示三、源码总结前言本文将使用OpenCV C++ 对视频中的人流量进行统计。一、图像预处理原图如图所示。本案例的需求是想要统计画面中的人流量。画面中走动的行人可以看作是前景,那么我们就需要将前景、背景分割出来。我们可以使用OpenCV提供的BackgroundSubtractorMOG2 高斯混合模型,将行人从画面中分割出来,然后提取轮廓就可以统计人流量了。Ptr<Backg

2022-01-01 16:56:56 4338

原创 OpenCV C++案例实战十《车牌号识别》

OpenCV C++案例实战十《车牌号识别》前言一、车牌检测1.1.图像预处理1.2.轮廓提取1.3.功能效果1.4.功能源码二、字符切割2.1.图像预处理2.2.轮廓提取2.3.功能效果2.4.功能源码三、字符识别3.1.读取文件3.2.字符匹配3.3.功能源码四、效果显示五、源码总结前言本文将使用OpenCV C++ 进行车牌号识别。一、车牌检测原图如图所示。本案例的需求是进行车牌号码识别。所以,首先我们得定位车牌所在的位置,然后将车牌切割出来。接下来我们就来看看是如何实现。1.1.图像预

2021-12-19 11:30:33 33739 283

原创 OpenCV C++案例实战九《对象计数》

OpenCV C++案例实战九《对象计数》前言一、图像预处理1.灰度、阈值2.腐蚀3.距离变换4.自适应阈值5.膨胀二、轮廓查找三、效果显示四、源码总结前言本文将使用OpenCV C++ 进行对象计算。一、图像预处理原图如图所示。本案例想做的是统计图像中有多少个物体。简单来说就是通过统计有效轮廓来计数。本案例其实最重要的是如何进行图像预处理,如何才能够将这些轮廓有效区分开。所以,具体图像要设定一个符合特定需求的算法。接下来,我将一一演示如何一步步进行操作的。1.灰度、阈值首先进行图像灰度化,

2021-12-18 11:36:19 5926 10

原创 OpenCV C++案例实战八《基于Hu矩轮廓匹配》

OpenCV C++案例实战八《基于Hu矩轮廓匹配》前言一、查找轮廓二、计算Hu矩三、显示效果四、源码总结前言本文将使用OpenCV C++ 基于Hu矩进行轮廓匹配。一、查找轮廓原图测试图vector<vector<Point>>findContour(Mat Image){ Mat gray; cvtColor(Image, gray, COLOR_BGR2GRAY); Mat thresh; threshold(gray, thresh, 0, 25

2021-12-18 10:16:39 6014 14

原创 OpenCV C++案例实战七《生成蒙太奇图像》续

本文将使用OpenCV C++ 在案例实战二的基础上,编写新算法生成蒙太奇图像。本文使用OpenCV C++生成蒙太奇图像,关键步骤有以下几点。1、基于直方图比较:找到与待填充区域(ROI)最相似的图片进行填充。2、基于MSE比较:找到与待填充区域(ROI)最相似的图片进行填充。对比以上两种方法,从效果上看,个人觉得使用MSE方法比较两幅图相似效果会更好。

2021-12-12 11:48:53 3398 1

原创 OpenCV C++案例实战六《绿幕视频背景替换》

OpenCV C++案例实战六《绿幕视频背景替换》前言一、图像预处理二、HSV色彩空间转换1. cvtColor色彩空间转换2. inRange抠图三、背景替换四、源码总结前言本文将使用OpenCV C++ 进行绿幕视频背景替换。一、图像预处理背景绿幕视频首先,我们需要使用resize API将背景图尺寸修改与视频尺寸大小。这样才能进行后续的像素赋值操作。 Mat bg = imread("background.jpg"); //背景图 VideoCapture capture;

2021-12-11 11:44:24 4753 2

原创 OpenCV C++案例实战五《答题卡识别》

OpenCV C++案例实战五《答题卡识别》前言一、图像矫正1.源码二、获取选项区域1.扣出每题选项2.源码三、获取答案1.思路2.辅助函数3.源码4.效果总结前言本文将使用OpenCV C++ 进行答题卡识别。一、图像矫正原图如图所示。我们拿到图像首先要进行图像预处理。本文目的是进行答题卡选项识别。所以,第一步我们需要将答题卡区域切割出来以进行后续识别工作。在上一篇文章我已经做过图像矫正案例OpenCV C++案例实战四《图像透视矫正》,详细内容大家可以参考,这里就不再赘述。1.源码voi

2021-11-13 11:26:20 8495 33

原创 OpenCV C++案例实战四《图像透视矫正》

OpenCV C++案例实战四《图像透视矫正》前言一、图像预处理二、轮廓提取1.提取最外轮廓2.提取矩形四个角点3.将矩形角点排序三、透视矫正四、源码总结前言本文将使用OpenCV C++ 进行图像透视矫正。一、图像预处理原图如图所示。首先进行图像预处理。将图像进行灰度、滤波、二值化、形态学等操作,目的是为了下面的轮廓提取。在这里我还使用了形态学开、闭操作,目的是使整个二值图像连在一起。大家在做图像预处理时,可以根据图像特征自行处理。 Mat gray; cvtColor(src, gray

2021-11-07 11:50:19 6465 2

原创 OpenCV C++案例实战三《二维码检测》

OpenCV C++案例实战三《二维码检测》前言一、二维码检测二、二维码识别1.通过findContours找到轮廓层级关系三、二维码绘制总结前言本文将使用OpenCV C++ 进行二维码检测。一、二维码检测首先我们要先将图像进行预处理,通过灰度、滤波、二值化等操作提取出图像轮廓。在这里我还添加了形态学操作,消除噪点,有效将矩形区域连接起来。 Mat gray; cvtColor(src, gray, COLOR_BGR2GRAY); Mat blur; GaussianBlur(gr

2021-11-04 09:41:58 9200 14

原创 OpenCV C++案例实战二《生成蒙太奇图像》

本文将使用OpenCV C++ 生成蒙太奇图像。本文使用OpenCV C++生成蒙太奇图像,关键步骤有以下几点。1、将你需要生成的蒙太奇图像模板resize成合适大小,使其恰好能够被素材图像填充。2、载入素材图像。3、使用素材图像去填充蒙版图。核心就是上面的两个for循环。4、将蒙版与模板图像进行融合,改变其像素权值就可以生成蒙太奇图像了。

2021-08-20 10:13:52 4143 5

OpenCV C++案例实战《银行卡号识别》

本文使用OpenCV C++进行银行卡号识别,关键步骤有以下几点。 1、银行卡号定位。根据本案例中的银行卡图像特征,我们先将银行卡号所在位置定位。根据图像特征,我们可以将银行卡号分为四个小方块进行定位切割。 2、字符分割。根据前面得到的银行卡号四个小方块,我们需要将它们顺序切割出每一个字符。 3、字符识别。我们将得到的字符与我们准备好的模板一一进行匹配。这里使用的匹配算法是图像模板匹配。

2023-04-29

OpenCV C++案例实战《答题卡识别》

本文使用OpenCV C++ 进行答题卡识别,关键步骤有以下几点。 1、图像透视矫正,将答题卡区域正确切割出来。 2、将每一题号分别抠出来存为新图像,待后续识别。 3、对每一题号确定其A,B,C,D,E选项区域,统计其像素点个数,故而匹配选项。

2023-04-29

OpenCV C++案例实战《二维码检测》

本文使用OpenCV C++进行二维码检测,关键步骤有以下几点。 1、图像预处理,筛选出二维码所在的矩形区域,并将该区域抠出来进行后续的识别工作。 2、对筛选出的矩形区域进行轮廓检测,判断它们之前的层级关系,以此来识别二维码。 3、最后根据检测到的二维码“回”字,将其绘制出来就可以了。

2023-04-29

OpenCV C++案例实战《车道检测》

本文使用OpenCV C++进行车道检测,关键步骤有以下几点。 1、要根据车道所在位置扣出一个ROI区域,这样方便我们后续的阈值操作。 2、根据阈值图像获取左右车道的轮廓点。这里的阈值处理很重要,直接会影响最后的效果。本文做实时视频处理时,也会因为阈值问题导致最后的效果不是特别好。 3、根据获取到的各车道轮廓点拿出首尾Point就可以绘制车道线以及车道区域了。

2023-04-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除