使用OpenCV中的Haar特征检测图片中的人脸
摘要:一、概述 案例:使用OpenCV的Haar特征数据检测人脸。 相关API介绍 1.使用CascadeClassifier类 2.使用其load方法加载特征文件 3.使用其detectMultiScale方法在多尺度空间进行检测,其中该参数解释如下: /** @brief Detects object
阅读全文
posted @
2022-04-06 16:15
飘杨......
阅读(200)
推荐(0) 编辑
Mac下OpenCV4.5.5+opencv_contrib4.5.5+CMake编译
摘要:一、概述 背景:19年mac机上安装过opencv,昨天清理电脑磁盘(把不要的删除掉),结果把opencv误删除掉了。所以决定重新编译一份。 过程中遇到了不少问题,这里做个记录,以便下次遇到的时候查阅,当然也方便其他开发同学。 二、操作步骤 1.去opencv官网下载下载:opencv源代码和ope
阅读全文
posted @
2022-04-04 16:58
飘杨......
阅读(920)
推荐(0) 编辑
OpenCV使用brisk做一个简单的场景匹配
摘要:一、概述 案例:使用opencv+qt+brisk实现关键点提前、生成描述子,并使用BFMatcher实现场景对象匹配,最后使用drawMatches将匹配结果绘制出来 实现步骤: 1.使用Qt制作场景对象及场景图像的选择页面,并放置一个按钮开始检测 2.使用imread载入场景图像及场景对象 3.
阅读全文
posted @
2022-03-25 16:14
飘杨......
阅读(166)
推荐(0) 编辑
OpenCV使用级联分类器实现人脸检测
摘要:一、概述 案例:使用opencv级联分类器CascadeClassifier+其提供的特征数据实现人脸检测,检测到人脸后使用红框画出来。 API介绍:detectMultiScale( InputArray image, CV_OUT std::vector<Rect>& objects,doubl
阅读全文
posted @
2022-03-23 16:56
飘杨......
阅读(316)
推荐(0) 编辑
OpenCV使用ingegral计算积分图
摘要:一、概述 案例:使用OpenCV中的integral计算图像积分图及平方像素积分图 API描述: integral( InputArray src, OutputArray sum, OutputArray sqsum, int sdepth = -1, int sqdepth = -1 );src
阅读全文
posted @
2022-03-23 15:06
飘杨......
阅读(367)
推荐(0) 编辑
OpenCV使用HOGDescriptor实现行人检测
摘要:一、概述 案例:使用HOGDescriptor实现行人检测 实现步骤: 1.载入图像 2.图像灰度化 3.实例化HOGDescriptor,并使用SVM检测器来检测行人 4.使用detectMultScale在不同的尺度空间上实现行人检测 5.将4中检测到的行人矩形框绘制出来,并输出最终结果 在多尺
阅读全文
posted @
2022-03-23 13:42
飘杨......
阅读(623)
推荐(0) 编辑
OpenCV计算卫星云图大致面积及周长
摘要:一、概述 案例:使用OpenCV实现卫星云图的周长面积计算 实现步骤: 1.输入图像 2.对图像进行高斯模糊,主要是为了降噪 3.图像灰度化 4.图像二值分割 5.执行形态学操作去除小点并使对象黏连 6.轮廓发现,并过滤目标轮廓 7.计算轮廓周长及面积 8.输出目标图像,并在目标图像上显示周长及面积
阅读全文
posted @
2022-03-18 09:40
飘杨......
阅读(339)
推荐(0) 编辑
OpenCV利用透视变换矫正图像
摘要:一、概述 案例:使用OpenCV将一张折射的图片给矫正过来 实现步骤: 1.载入图像 2.图像灰度化 3.二值分割 4.形态学操作去除噪点 5.轮廓发现 6.使用霍夫直线检测,检测上下左右四条直线(有可能是多条,但是无所谓) 7.绘制出直线 8.寻找与定位上下左右是条直线 9.拟合四条直线方程 10
阅读全文
posted @
2022-03-17 17:40
飘杨......
阅读(1450)
推荐(0) 编辑
OpenCV找出图片中的圆并标注圆心
摘要:一、概述 案例:输入一张图片找到图片中的一个圆,并标注圆心 实现步骤: 1.输入原图 2.图像图像灰度化 3.图像二值化 4.执行形态学操作去除噪点 5.边缘检测 6.轮廓发现 7.根据面积和纵横比过滤目标轮廓 8.找出圆心并绘制圆心 9.在原图上也绘制圆心并输出 二、代码示例 //【1】载入图像
阅读全文
posted @
2022-03-17 15:32
飘杨......
阅读(3198)
推荐(0) 编辑
OpenCV将考试卷中的直线提取出来并标注直线
摘要:一、概述 案例:识别考试卷中的填空的直线,并用红色线描述出来 实现步骤: 1.载入图像 2.转灰度图像 3.图像二值化 4.使用形态学开操作去除文本部分,只保留直线 5.使用形态学膨胀操作使保留的直线黏连 6.使用使用霍夫直线检测找到图中的直线 7.根据直线坐标绘制直线到原图上 8.输出最终图片 二
阅读全文
posted @
2022-03-17 14:16
飘杨......
阅读(331)
推荐(0) 编辑
使用OpenCV对图像进行切边
摘要:一、概述 案例:使用OpenCV对旋转图片及正常图片进行切边。 A:对正常图片切边的步骤 1.加载图像 2.对图像进行灰度化 3.边缘检测 4.轮廓发现 5.找出符合目标的最大外接矩形,并使用矩形的四个坐标点绘制线 6.根据找到Rect在原图上切除ROI区域 7.显示ROI区域 B:对旋转图像切边的
阅读全文
posted @
2022-03-16 10:41
飘杨......
阅读(500)
推荐(0) 编辑
OpenCV使用goodFeaturesToTrack实现角点检测
摘要:一、概述 案例:使用goodFeaturesToTrack实现角点检测 特点:goodFeaturesToTrack的检测速度比cornerHarris角点检测的速度更加快速,且API的使用更加方便 goodFeaturesToTrack(src,corners,maxCorners,quality
阅读全文
posted @
2022-03-13 22:25
飘杨......
阅读(1476)
推荐(0) 编辑
OpenCV实现角点检测(cornerHarris)
摘要:一、概述 案例:使用cornerHarris实现角点检测,并调节其参数看看不同参数下的不同效果 技术:Qt+C+++OpenCV 角点检测函数介绍:cornerHarris(src,dst,blockSize,ksize,k,BORDER_DEFAULT)1.src:必须是单通道8位或者32位浮点图
阅读全文
posted @
2022-03-13 15:32
飘杨......
阅读(1481)
推荐(0) 编辑
小案例:使用OpenCV数一数图像中硬币的个数
摘要:一、概述 案例:给出一张堆满硬币的图像,找出这张图像中硬币的总个数 实现步骤: 1.加载原图 2.灰度化图像 3.进行二值分割(自动预值)的出二值图像 4.进行形态学开操作去掉黑色噪声 5.执行距离变换 6.执行阀值二值化(分离各个硬币) 7.执行边缘检测 8.执行轮廓发现(轮廓的个数就是硬币的个数
阅读全文
posted @
2022-03-09 11:48
飘杨......
阅读(857)
推荐(0) 编辑
小案例:使用OpenCV数一数玉米粒的个数
摘要:一、概述 案例:给出一张玉米图片数一数有多少玉米粒(ps:玉米粒之间有相互压住的情况) 实现步骤: 1.输入原图 2.灰度图像 3.二值化(使用自动预值),黑白图 4.使用心态学开操作进行降噪声 5.对图像进行腐蚀,对白色区域进行尽可能隔离,为下一步距离变换做准备 6.执行距离变换 7.进行局部二值
阅读全文
posted @
2022-03-09 11:43
飘杨......
阅读(506)
推荐(0) 编辑
OpenCV绘制轮廓的外接矩形、圆
摘要:一、概述 案例:检测图像轮廓并绘制轮廓的外界矩形和圆 相关函数介绍: approxPolyDP(contourMat, approxCurve, 10, true);//找出轮廓的多边形拟合曲线 第一个参数 InputArray curve:输入的点集 第二个参数OutputArray approx
阅读全文
posted @
2022-03-03 10:39
飘杨......
阅读(890)
推荐(0) 编辑
OpenCV凸包
摘要:一、概述 案例:输入一张图片将其凸包绘制出来 概念:最大外接多边形 convexHull( InputArray points,// 输入候选点,来自findContours OutputArray hull,// 凸包 bool clockwise,// default true, 顺时针方向 b
阅读全文
posted @
2022-03-03 09:47
飘杨......
阅读(185)
推荐(0) 编辑
OpenCV轮廓发现
摘要:一、概述 案例:使用OpenCV的findContours发现轮廓并根据轮廓的面积过滤轮廓。 发现轮廓函数: 发现轮廓:findContours( InputOutputArray binImg, // 输入图像,非0的像素被看成1,0的像素值保持不变,8-bit OutputArrayOfArra
阅读全文
posted @
2022-03-02 18:53
飘杨......
阅读(105)
推荐(0) 编辑
OpenCV模板检测
摘要:一、概述 案例:使用OpenCV的模板检测在场景图中找出模板图像,并将其框出来。 简单理解概念:模板匹配其实就是在整个场景图像中发现与给定子图像(模板图像)匹配的小块区域。可以理解为找对象 模板匹配方法API函数介绍matchTemplate( InputArray image,// 源图像,必须是
阅读全文
posted @
2022-03-02 16:49
飘杨......
阅读(293)
推荐(0) 编辑
OpenCV实现图像反向投影
摘要:一、概述 概念:反向投影是反应直方图模型在目标图像中的分布情况。简单点来说就是用直方图模型去目标图像中寻找是否有相似的对象。 ps:所以这里需要有两个输入:1.模型图片 。2.场景图片 ,即利用模型图片直方图去场景图片中搜索。 calcBackProject( const Mat* images,/
阅读全文
posted @
2022-03-01 10:07
飘杨......
阅读(215)
推荐(0) 编辑