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
飘杨......
阅读(312)
推荐(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
飘杨......
阅读(363)
推荐(0) 编辑
OpenCV使用HOGDescriptor实现行人检测
摘要:一、概述 案例:使用HOGDescriptor实现行人检测 实现步骤: 1.载入图像 2.图像灰度化 3.实例化HOGDescriptor,并使用SVM检测器来检测行人 4.使用detectMultScale在不同的尺度空间上实现行人检测 5.将4中检测到的行人矩形框绘制出来,并输出最终结果 在多尺
阅读全文
posted @
2022-03-23 13:42
飘杨......
阅读(618)
推荐(0) 编辑
OpenCV计算卫星云图大致面积及周长
摘要:一、概述 案例:使用OpenCV实现卫星云图的周长面积计算 实现步骤: 1.输入图像 2.对图像进行高斯模糊,主要是为了降噪 3.图像灰度化 4.图像二值分割 5.执行形态学操作去除小点并使对象黏连 6.轮廓发现,并过滤目标轮廓 7.计算轮廓周长及面积 8.输出目标图像,并在目标图像上显示周长及面积
阅读全文
posted @
2022-03-18 09:40
飘杨......
阅读(336)
推荐(0) 编辑
OpenCV利用透视变换矫正图像
摘要:一、概述 案例:使用OpenCV将一张折射的图片给矫正过来 实现步骤: 1.载入图像 2.图像灰度化 3.二值分割 4.形态学操作去除噪点 5.轮廓发现 6.使用霍夫直线检测,检测上下左右四条直线(有可能是多条,但是无所谓) 7.绘制出直线 8.寻找与定位上下左右是条直线 9.拟合四条直线方程 10
阅读全文
posted @
2022-03-17 17:40
飘杨......
阅读(1444)
推荐(0) 编辑
OpenCV找出图片中的圆并标注圆心
摘要:一、概述 案例:输入一张图片找到图片中的一个圆,并标注圆心 实现步骤: 1.输入原图 2.图像图像灰度化 3.图像二值化 4.执行形态学操作去除噪点 5.边缘检测 6.轮廓发现 7.根据面积和纵横比过滤目标轮廓 8.找出圆心并绘制圆心 9.在原图上也绘制圆心并输出 二、代码示例 //【1】载入图像
阅读全文
posted @
2022-03-17 15:32
飘杨......
阅读(3194)
推荐(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
飘杨......
阅读(498)
推荐(0) 编辑
OpenCV使用goodFeaturesToTrack实现角点检测
摘要:一、概述 案例:使用goodFeaturesToTrack实现角点检测 特点:goodFeaturesToTrack的检测速度比cornerHarris角点检测的速度更加快速,且API的使用更加方便 goodFeaturesToTrack(src,corners,maxCorners,quality
阅读全文
posted @
2022-03-13 22:25
飘杨......
阅读(1475)
推荐(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
飘杨......
阅读(1479)
推荐(0) 编辑
Qt QSlider的使用
摘要:一、概述 案例:因为要做cornerHarris角点检测演示,需要不断的调节阀值来查看角点的效果。一次次的运行当然也可以,不过太过麻烦,所以想到了使用Qt的QSlider来调节thresh。这样既方便有快捷 思路: 1.导入QSlider 2.实例化并加入Qt对象树 3.设置方向 4.设置值的范围(
阅读全文
posted @
2022-03-09 22:57
飘杨......
阅读(724)
推荐(0) 编辑
小案例:使用OpenCV数一数图像中硬币的个数
摘要:一、概述 案例:给出一张堆满硬币的图像,找出这张图像中硬币的总个数 实现步骤: 1.加载原图 2.灰度化图像 3.进行二值分割(自动预值)的出二值图像 4.进行形态学开操作去掉黑色噪声 5.执行距离变换 6.执行阀值二值化(分离各个硬币) 7.执行边缘检测 8.执行轮廓发现(轮廓的个数就是硬币的个数
阅读全文
posted @
2022-03-09 11:48
飘杨......
阅读(852)
推荐(0) 编辑
小案例:使用OpenCV数一数玉米粒的个数
摘要:一、概述 案例:给出一张玉米图片数一数有多少玉米粒(ps:玉米粒之间有相互压住的情况) 实现步骤: 1.输入原图 2.灰度图像 3.二值化(使用自动预值),黑白图 4.使用心态学开操作进行降噪声 5.对图像进行腐蚀,对白色区域进行尽可能隔离,为下一步距离变换做准备 6.执行距离变换 7.进行局部二值
阅读全文
posted @
2022-03-09 11:43
飘杨......
阅读(504)
推荐(0) 编辑
Qt给QListWidget设置点击事件
摘要:一、概述 案例:使用Qt编写一个ListView列表,并设置其点击事件 思路:在QListWidget的事件中发现了两个比较像的,一个是clicked,一个pressed。因为是android出身,第一印象首选了clicked事件。利用connect(listview,listview:clicke
阅读全文
posted @
2022-03-08 13:09
飘杨......
阅读(4442)
推荐(0) 编辑
Qt拖放图片到窗口中并显示
摘要:一、概述 案例:制作一个小的图片浏览器,要求可以显示jpg、jpeg、png、bmp。可以从电脑上拖动图到窗口并显示出来。 实现步骤: 1.创建一个QWidget 2.在QWidget的构造方法中设置一个QLabel用户显示pixmap 3.在QWidget的protected中定义三个函数,dra
阅读全文
posted @
2022-03-07 18:12
飘杨......
阅读(1034)
推荐(0) 编辑
Qt Pixmap设置图片自适应
摘要:一、概述 案例:编写一个QWidget并在QWidget上放置一个QLabel,让QLabel显示一张图片,并且图片自适应QLabel大小 二、代码示例 label->setPixmap(pixmap.scaled(label->size(),Qt::KeepAspectRatio,Qt::Smoo
阅读全文
posted @
2022-03-07 17:49
飘杨......
阅读(1981)
推荐(0) 编辑
OpenCV绘制轮廓的外接矩形、圆
摘要:一、概述 案例:检测图像轮廓并绘制轮廓的外界矩形和圆 相关函数介绍: approxPolyDP(contourMat, approxCurve, 10, true);//找出轮廓的多边形拟合曲线 第一个参数 InputArray curve:输入的点集 第二个参数OutputArray approx
阅读全文
posted @
2022-03-03 10:39
飘杨......
阅读(885)
推荐(0) 编辑
OpenCV凸包
摘要:一、概述 案例:输入一张图片将其凸包绘制出来 概念:最大外接多边形 convexHull( InputArray points,// 输入候选点,来自findContours OutputArray hull,// 凸包 bool clockwise,// default true, 顺时针方向 b
阅读全文
posted @
2022-03-03 09:47
飘杨......
阅读(182)
推荐(0) 编辑
OpenCV轮廓发现
摘要:一、概述 案例:使用OpenCV的findContours发现轮廓并根据轮廓的面积过滤轮廓。 发现轮廓函数: 发现轮廓:findContours( InputOutputArray binImg, // 输入图像,非0的像素被看成1,0的像素值保持不变,8-bit OutputArrayOfArra
阅读全文
posted @
2022-03-02 18:53
飘杨......
阅读(103)
推荐(0) 编辑
OpenCV模板检测
摘要:一、概述 案例:使用OpenCV的模板检测在场景图中找出模板图像,并将其框出来。 简单理解概念:模板匹配其实就是在整个场景图像中发现与给定子图像(模板图像)匹配的小块区域。可以理解为找对象 模板匹配方法API函数介绍matchTemplate( InputArray image,// 源图像,必须是
阅读全文
posted @
2022-03-02 16:49
飘杨......
阅读(290)
推荐(0) 编辑
OpenCV实现图像反向投影
摘要:一、概述 概念:反向投影是反应直方图模型在目标图像中的分布情况。简单点来说就是用直方图模型去目标图像中寻找是否有相似的对象。 ps:所以这里需要有两个输入:1.模型图片 。2.场景图片 ,即利用模型图片直方图去场景图片中搜索。 calcBackProject( const Mat* images,/
阅读全文
posted @
2022-03-01 10:07
飘杨......
阅读(213)
推荐(0) 编辑