自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

邱小兵的博客

一个正在努力学习机器视觉图像处理的菜鸡学生

  • 博客(87)
  • 资源 (9)
  • 收藏
  • 关注

原创 经典AWB(自动白平衡)算法——灰度世界算法

物体在不一样的光照下,能够呈现一样的颜色,这种特性称为色彩一致性。人类的眼睛有“色彩一致”的能力,它使人能够通过调节光谱响应来适应不同光照条件。对于白色物体,如果它周围的光线色温较低,那么它看起来就会偏微红色; 相反,如果它周围的光线色温较高,那么它看起来就会偏微蓝色。因此,AWB的作用就是用来处理图像的色彩,使其看起来更加接近自然色。对于白光,它的RGB三通道值完全一样,都是255,如果我们能够让图像中原本是白色的部分恢复到了真正的白色,即 RGB三通道值完全一样且均为255,那么可以认为图像中其他的

2020-10-20 23:31:42 7696 2

原创 BitMap的读写与修改

位图(BitMap)是一种非常常见的图像类型,而且因为其失真率低,所以在机器视觉中经常会使用到它,因此需要对BitMap有更深一步的认识。BitMap总的来说分为四个结构:位图文件头结构、位图信息头结构、颜色表和位图数据。其中,位图文件头结构存储的是对图像文件类型的声明等规定化的内容,位图信息头结构则存储了关于位图的一些相关信息,颜色表是只在灰度位图文件中存在(彩色bmp图像中不存在颜色表),其表示位图灰度值的索引以及对应值,位图数据是存放真正图像数据的内存区。下面通过C++实现对BitMap的读写与

2020-10-09 22:47:45 1372

原创 OpenCV4学习笔记(80)——直方图规定化与绘制

停更了好久好久的博客,国庆第一天,起床除了祝祖国妈妈生日快乐之外居然有点不知道要干嘛好,刚好看书时发现了OpenCV里没有的一个小功能,那就来写写博客吧。。。还记得在很久之前的《OpenCV学习笔记(9)》中,曾经记录过图像直方图的计算和绘制等内容,但是并没有进行封装,显得比较凌乱,于是便借着写直方图规定化这部分内容的时候顺带进行整理封装。今天的重要内容还是关于直方图的规定化,在看书的时候发现这一个知识点,本来这应该是一个经常能用上的功能,但是不知道为什么OpenCV中却没有提供相应的API,所以只能靠

2020-10-01 11:30:50 871

原创 OpenCV4学习笔记(79)——bgsegm背景提取模块

今天要整理的内容是关于OpenCV中contrib拓展库中的bgsegm模块,这个模块功能主要是针对于对视频流进行背景与前景的分离、提取,其中包含了多种已经实现并封装好的背景提取器。今天主要是使用bgsegm模块中不同的背景提取器来对同一个视频流进行运动前景提取,并对比不同提取器的效果。首先,我们先回顾一下在之前的笔记《OpenCV4学习笔记(31)》中,已经整理了OpenCV基础库中的一个常用的基于自适应高斯混合背景建模(MOG2)的帧差法实现的背景提取器,我们可以使用createBackgroundS

2020-07-02 21:43:29 3796 2

原创 OpenCV4学习笔记(78)——均值哈希算法(基于灰度值)

飘忽不定的失踪人口又来了(~ ̄▽ ̄)~吐槽:害最近是真的烦,好不容易找到了感觉还不错的3+1实习,甚至已经谈好了下个月就去入职培训了,结果学校突然通知说疫情原因禁止学生暑期出去实习。这也就算了,咱以个人名义出去总可以了吧?可是个人与企业的协议又得上交学校,暑期时间内的话学校又不同意,必须把协议日期放到九月份后,然而这样企业方面又不太同意,我真的是无语了。。。又是漫长的等通知。。。天。。。而且企业那边使用halcon偏多一些,最近都在看这方面的内容,我这OpenCV的笔记呀,放下的有点久了唉~罢了罢了有空想

2020-06-30 21:46:09 2249 1

原创 OpenCV4学习笔记(77)——ArUco模块之aruco标记板

失踪人口回归~~~上一次更新博客已经是十天前的事情,害(。・∀・)最近挺忙的,蛮多事情要做,同时还在学习新的东西,所以就把整理OpenCV笔记这件事暂且先放一放了。言归正传,今天要整理的内容依然是有关于OpenCV的拓展模块ArUco,那就是aruco标记板的创建和标记检测,同时使用到增强型标记检测,最后利用检测出的标记对aruco标记板进行姿态估计。在之前我们已经整理过什么是aruco标记了,那么aruco标记板又是何物???其实很简单,aruco标记板就是一系列来自相同字典的aruco标记的集合,我

2020-06-08 22:26:18 4747 2

原创 OpenCV4学习笔记(76)——基于ArUco模块+QT实现增强现实(AR)

在《OpenCV4学习笔记(75)》中,整理记录了对于一副静态图像如何实现一个简单的增强现实效果,今天我们就结合ArUco模块和QT来实现对于实时视频流的AR效果。我们需要先创建一个QT项目,我使用的是基于VS2019平台来进行开发。然后在QT Designer 中先设计我们的GUI界面,长下面这个样子,左边的窗口是正常打开摄像头录制的视频,右边的窗口是进行增强现实后的视频。搞定这个简单的GUI界面设计后,接下来进入代码部分。首先第一件事依然是先加载相机的内参矩阵和畸变系数,依然默认已经完成了相机标定

2020-05-28 17:16:19 1866 3

原创 OpenCV4学习笔记(74)——ArUco模块之对aruco标记进行实时姿态估计

在之前的笔记《OpenCV4学习笔记(72)》中,记录了在OpenCV中关于aruco标记的创建和检测这方面的内容,今天就基于aruco标记检测来进一步实现对aruco标记的实时姿态估计。首先我们需要知道,所谓姿态估计问题就是要确定某个三维物体的方位指向问题,也就是确定以该物体为中心原点的一个坐标系。姿态估计在机器人视觉、动作跟踪和单照相机定标等很多领域都有应用,当然了在不同领域中实现姿态估计的方法也有很多种。在本次笔记中,就来整理一下OpenCV中的ArUco模块对于aruco标记是如何实现姿态估计的。

2020-05-27 16:21:03 5648 9

原创 OpenCV4学习笔记(75)——ArUco模块之实现AR(增强现实)效果

今天要整理记录的是利用OpenCV中ArUco模块的aruco标记实现一个增强现实的小应用,当然了本次笔记的内容也是需要建立在之前的《OpenCV4学习笔记(72)》基础上的。所谓增强现实(Augmented Reality),其实是一种将虚拟信息与真实世界巧妙融合的技术,通过技术手段将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。在这里,我们主要利用aruco标记实现将图像、视频这些虚拟信息应用到拍摄下来的真实世界中。

2020-05-26 22:04:03 1826 1

原创 OpenCV4学习笔记(73)——基于QT+OpenCV实现口罩检测

在之前的笔记OpenCV4学习笔记(65)中,使用OpenCV实现了一个简单的口罩检测,但是仅仅只是功能上的实现没有任何的GUI界面,所以今天就结合QT,做一个简单的小界面出来。关于功能实现部分的内容,还请参阅之前的笔记。先说下我的QT开发环境,是使用VS下的“QT VS Tool”拓展来进行的,并且使用QT Designer进行界面控件、布局等的操作。这里主要整理下QtWidgetsApplication.cpp文件中的代码思路。首先依然要先加载各个模型,以及设置计算后台和目标设备 string

2020-05-24 17:20:20 2539 2

原创 OpenCV4学习笔记(72)——ArUco模块之aruco标记的创建与检测

今天要整理记录的是OpenCV中ArUco模块的基础内容,包含aruco标记的创建与检测。要注意的是ArUco模块是包含在OpenCV的contrib拓展库中的,需要自行下载OpenCV基础库和contrib拓展库进行联合编译才可以使用,这里就不整理编译的过程了,不得不说编译的时候还是有好多坑的。。。如果有需要的朋友可以在我的资源里面下载 “OpenCV430(contrib).txt”,这是编译好了的包含contrib拓展库的OpenCV4.3.0版本,由于文件过大所以使用的是某度网盘链接的方式上传,介意

2020-05-23 21:56:28 6445 10

原创 OpenCV4学习笔记(71)——散焦图像去模糊滤波

今天要整理记录的内容是,关于散焦图像的去模糊滤波,这部分内容参考学习于OpenCV官方文档。首先我们需要先了解下什么是散焦图像。我们观察下面这两张图像当我们看到这两张图像的时候,给我们的第一感觉是很模糊,就好像得了近视眼但是忘了带眼镜在看东西的感觉,虽然我不近视。。。也不知道忘带眼镜是什么感觉。。。这只是一个比方。。。这种情况,其实就是拍摄物体的时候,没有把拍摄主体对上焦,也就叫做散焦图像。正常来说,当像距等于焦距时,一个物点经过透镜在成像面所成的像也应该是一个点,但是如果成像面与透镜之间的距离发

2020-05-19 16:59:34 8283 10

原创 OpenCV4学习笔记(70)——dnn模块之调用预训练模型实现性别年龄检测

本次笔记要整理记录的内容是关于三个caffe模型的联合调用,分别是人脸检测模型、性别检测模型和年龄检测模型。基于这三个模型来实现实时的性别年龄检测效果。这个效果实现的思路如下:(1)加载预先下载好的三个caffe网络模型;(2)打开摄像头加载视频流;(3)对从摄像头中获取每一帧图像进行人脸检测;(4)对检测到的人脸进行性别与年龄检测;(5)解析检测结果;(6)显示检测结果。下面通过代码来逐步整理。首先,我们需要加载这三个模型,并设置计算后台和目标设备,由于是对视频流进行实时处理,所以我们对

2020-05-17 17:28:21 1374

原创 OpenCV4学习笔记(69)——dnn模块之基于fast_style模型实现快速图像风格迁移

今天要整理记录的内容是fast_style模型在OpenCV中使用dnn模块进行加载调用,并基于该模型实现快速的图像风格迁移。在该博文中使用到的fast_style模型是基于pytorch框架训练而成的,总共分为九个不同风格的模型,其中的不同风格是在不同艺术作品中提取出来的,咋一看会有些眼熟,然而说不上来是什么画风。。。具体的图像风格如下:模型风格(翻译可能有误)candy糖果composition_vii康丁斯基的抽象派绘画风格feathers羽毛udnie

2020-05-17 15:48:07 1098

原创 OpenCV4学习笔记(68)——dnn模块之调用基于Cityscapes数据集的图像分割模型

本次笔记要整理记录的是基于Cityscapes数据集训练而成的图像分割模型model-best.net,该模型能够对行人、汽车、红绿灯、马路、地形、天空等等二十种类别进行分类,可用于城市景观分割。下面通过代码整理如何在OpenCV中利用dnn模块对该模型进行加载调用,并实现城市景观分割。首先加载模型,并且设置计算后台和目标设备 string model_path = "D:\\opencv_c++\\opencv_tutorial\\data\\models\\enet\\model-best.net

2020-05-16 17:34:29 1151

原创 OpenCV4学习笔记(67)——dnn模块之基于colorization模型实现图像自动上色

本次要整理记录的内容是利用colorization模型来将灰度图像转换为彩色图像。colorization模型是利用Lab色彩空间的L(亮度)通道来预测a、b两个通道的值,也就是说当我们手里有一张灰度图像的时候,可以利用colorization模型对这张灰度图像的亮度值进行预测,从而得到a、b两个通道的值,并将L、a、b三通道合并后得到一个彩色化的图像。这里使用了Lab色彩空间,我们需要先对其有一定的了解:Lab色彩空间是基于数据驱动对人类感觉的研究,它假设人类的视觉系统理想地适应自然景色的处理,由亮度

2020-05-16 15:54:23 1004 1

原创 OpenCV4学习笔记(66)——dnn模块之基于YOLOv3(Tiny)模型的(实时)对象检测

今天要整理的是OpenCV中dnn模块对于YOLOv3模型的加载调用,以及在此基础上实现图像中的对象检测。OpenCV4.0版本以上支持YOLOv3版本模型的对象检测网络,该网络模型支持80种类别对象的检测,而且现在YOLO发布了v4版本,但是具体的我还没有去尝试过,之前上YOLO的网站看好像还没更新v4版本。YOLOv3版本同时还发布了支持移动端的轻量型网络模型YOLOv3-tiny版本,其速度可以在CPU端实时运行,下次笔记再来整理以YOLOv3-tiny模型为基础实现的实时对象检测功能。OpenCV

2020-05-15 21:32:26 2794 2

原创 OpenCV4学习笔记(65)——基于dnn与ml模块实现口罩识别

昨天在GitHub上看到了一个开源的项目,是利用深度学习来检测是否有佩戴口罩的,感觉还挺好玩的,于是就去下载了训练好的模型,打算用OpenCV的dnn模块来跑一跑。然而,在经过前向传播后,得到的推理矩阵prob是一个 1x5972x2 的Mat矩阵,和之前遇到过的推理结果都不太一样,在经过多种解码方式的尝试后,还是没能够对这个推理结果正确得解码。并且在网上搜索也没有找到相关的内容,几乎没有网友使用OpenCV来运行这个模型,基本都是使用深度学习的框架来运行。这就很无奈了,现在只能暂时把这个模型放一边,等其他

2020-05-10 15:48:39 2781 27

原创 OpenCV4学习笔记(64)——dnn模块之调用基于残差SSD神经网络的人脸检测模型

本次笔记整理的内容是:在OpenCV中利用dnn模块来调用基于残差SSD神经网络的人脸检测模型,OpenCV中的人脸检测模型分别由tensorflow框架和caffe框架训练而成。其中Tensorflow模型经过压缩,运算速度快,但精度比较低;而caffe模型使用FP16的浮点数据,检测精度更高,但运算速度略逊一筹。一、下面先整理人脸检测tensorflow模型opencv_face_detector_uint8.pb的调用。(1)首先加载模型,并设置计算后台和目标设备 string model_pa

2020-05-08 22:43:04 1262 3

原创 OpenCV4学习笔记(63)——dnn模块之调用MobileNetSSD模型实现常见目标检测

本次要整理的内容是:在OpenCV中使用dnn模块来调用MobileNetSSD神经网络模型,并实现常见目标检测。MobileNetSSD,顾名思义是一个适用于移动端的ssd神经网络模型,其运行速度是比较可观的,可以用在实时检测当中。在本次笔记中,先使用一张图像作为演示,传入MobileNetSSD模型中并进行识别,然后再调用笔记本自带的摄像头实现一个实时的常见目标检测。对于MobileNetS...

2020-05-08 16:23:13 1404 8

原创 OpenCV4学习笔记(62)——dnn模块之调用inception5h模型实现图像分类

本次笔记要整理的内容是:通过OpenCV的dnn模块来调用OpenCV自带的inception5h模型,并实现物体识别。该模型可识别的类别总共有1000类,包含动物、日常用品、交通工具等等,范围非常广泛。下面通过代码逐步整理。首先,我们需要加载模型,并设置计算后台和目标设备。 //加载opencv自带的tenserflow模型实现图像分类 const string tf_net_model_...

2020-05-07 21:10:23 946 2

原创 OpenCV4学习笔记(61)——dnn模块之调用googlenet模型实现动物图像分类

今天开始主要整理OpenCV中dnn模块的使用,包括各种神经网络模型的加载、调用,输入输出数据的组织等等内容。而今天要记录的是OpenCV中一个自带神经网络模型——googlenet模型的使用,这个模型是由caffe框架训练出来、主要针对多种野生动物的识别。下面开始通过代码逐步整理在OpenCV中对该模型进行调用,并对图像进行识别分类的流程。首先我们需要加载googlenet模型的模型文件(.c...

2020-05-07 17:55:22 1240

原创 操作系统实验2——高响应比调度算法

本次记录高响应比调度算法的C++实现。高响应比调度算法,简单的来说就是对每个进程对计算一个响应比,根据响应比的大小来判断要运行的进程。其实现思路如下:具体步骤为:首先定义进程控制块PCB类:class PCB{public: int ID; //进程ID int runtime; //进程已运行时间 int lasttime; //进程所需的剩余运行时间 int ...

2020-05-03 20:59:33 5557 1

原创 操作系统实验1——动态优先数调度算法

今天主要是记录操作系统这门课程的实验,实现动态优先数调度算法。动态优先数调度算法,简单的说就是根据进程的优先级进行调度,优先级高的就先运行,优先级低的就后运行,主要实现思路如下:具体步骤为:定义进程控制块类://进程PCB类定义class PCB{public: int ID; //进程ID int runtime; //进程已运行时间 int lasttime; ...

2020-05-03 20:48:22 6611 1

原创 OpenCV4学习笔记(59)——高动态范围(HDR)成像

今天要整理记录的笔记是与高动态范围HDR成像相关的内容,主要参考学习的来源为OpenCV官方文档。首先需要了解什么是高动态范围HDR,由维基百科定义可知:高动态范围成像(英语:High Dynamic Range Imaging,简称HDRI或HDR),在计算机图形学与电影摄影术中,是用来实现比普通数位图像技术更大曝光动态范围(即更大的明暗差别)的一组技术。高动态范围成像的目的就是要正确地表...

2020-05-02 22:22:53 4540 1

原创 OpenCV4学习笔记(58)——二维码检测与识别

本次要整理的笔记内容是在OpenCV中对二维码进行检测与识别。二维码对我们来说可以说是非常熟悉的,乃至于每次出门都会和“扫码”挂钩,可以说二维码已经渗入到我们生活的方方面面。那么二维码到底什么东西呢?这里是关于二维码的一些相关信息。(参考维基百科)二维码也称为二维条码,是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码...

2020-04-30 16:55:06 5103 4

原创 OpenCV4学习笔记(57)——基于GrabCut图像分割算法实现背景替换与背景虚化效果

在上一篇笔记《OpenCV4学习笔记(56)》中,整理了关于在OpenCV中使用GrabCut图像分割算法的相关内容,那么本次笔记就以GrabCut算法为基础来实现对图像的背景替换和背景虚化效果。实现对图像的背景替换和背景虚化效果的整体流程如下:(1)对图像进行USM锐化(可参阅《OpenCV4学习笔记(16)》),用于增强图像细节,以便于提取前景区域。(2)手动选择ROI区域并执行Gra...

2020-04-30 09:41:35 2601 3

原创 OpenCV4学习笔记(56)——GrabCut图像分割算法

今天要整理记录的笔记是关于GrabCut图像分割的内容,GrabCut是基于图割(graph cut)实现的图像分割算法,它需要指定输入一个bounding box作为分割目标区域,根据目标区域中的像素,来实现对目标前景与背景的分割。注意GrabCut图像分割算法并不是把图像分成若干区域,而是注重于将我们需要的前景区域从整幅图像中提取出来,以达到前景、背景相互分割的目的。而且由于GrabCut图...

2020-04-29 22:15:30 2074

原创 OpenCV4学习笔记(55)——基于KNN最近邻算法实现鼠标手写数字识别

在上一篇博客《OpenCV4学习笔记(54)》中,整理了关于KNN最近邻算法的一些相关内容和一个手写体数字识别的例子。但是上次所实现的手写体数字识别,每次只能固定地输入测试图像进行预测,而且所使用的也是从OpenCV自带测试图中裁剪下来的数字。那么这一次笔记,我们就把上一次笔记的内容和OpenCV中的鼠标操作进行结合,实现一个可以利用鼠标书写数字并实时进行手写体数字识别的小程序。关于KNN算法实...

2020-04-28 18:18:22 696 1

原创 OpenCV4学习笔记(54)——基于KNN最近邻算法实现手写体数字识别

本次要整理记录的笔记是关于KNN最近邻算法,以及利用KNN最近邻算法实现手写体数字识别的相关内容。首先先了解一下什么是KNN最近邻算法,下面引用维基百科的定义:在模式识别领域中,最近邻居法(KNN算法,又译K-近邻算法)是一种用于分类和回归的非参数统计方法。在这两种情况下,输入包含特征空间(Feature Space)中的k个最接近的训练样本。在k-NN分类中,输出是一个分类族群。一个对象...

2020-04-28 17:07:13 1270

原创 OpenCV4学习笔记(53)——基于K-Means聚类算法建立图像主色卡

今天继续整理记录关于K-Means聚类算法的一个小应用,那就是对图像进行主色彩提取,从而建立属于图像的主色卡。关于K-Means算法的一些介绍,可以看我之前的博文《OpenCV4学习笔记(50)》。有时候我们想要知道图像中有哪些主要色彩,尤其是在印刷、印制的时候,如果有针对模板图像的主色卡做参考,那么取色的时候能更加精准,避免色差。利用K-Means聚类算法实现图像主色卡建立的步骤如下:(1...

2020-04-28 09:36:54 966 1

原创 OpenCV4学习笔记(52)——基于K-Means聚类算法的证件照背景替换

在上一篇笔记《OpenCV4学习笔记(51)》中,整理记录了基于K-Means聚类算法实现的图像分割,而本次笔记就是要将这种方法应用到实际例子中去,实现一个简单的证件照背景替换。关于K-Means聚类算法实现图像分割的内容,可以参阅我的上一篇笔记。基于K-Means聚类算法的图像分割实现简单证件照片的背景分割提取与替换,要求照片的背景和前景的颜色差异比较大,实现的主要步骤如下:(1) 读入证件...

2020-04-27 22:33:29 1040

原创 OpenCV4学习笔记(51)——基于K-Means聚类算法实现的图像分割

在上一篇博文《OpenCV4学习笔记(50)》中整理记录了关于K-Means聚类算法的一些相关内容,那么本次笔记就来针对K-Means算法在图像分割方面的应用进行一些小小的整理。图像分割是指将一幅图像分割成若干互不相交区域的集合,其实质可以看成是一种像素的聚类过程,先来看一下图像分割在维基百科上的定义:在计算机视觉领域,图像分割(segmentation)指的是将数字图像细分为多个图像子区域...

2020-04-27 21:58:15 2712 2

原创 OpenCV4学习笔记(50)——K-Means聚类算法

本次要整理记录的笔记是关于K-Means聚类算法的相关内容。首先,在我学习这部分内容的时候,总有一个让我疑惑的点,那就是对于K-Means算法的表述方式各有不同,有些资料上称之为分类算法,而有些资料上称之为聚类算法,更有些资料上将该两者混为一谈,时而用分类、时而用聚类。这就让我感到有些疑惑了,到底分类和聚类的概念是如何定义的,于是我先对这两个概念进行了解。下面是维基百科中关于这两个概念的解释:...

2020-04-27 18:20:06 1250

原创 OpenCV4学习笔记(49)——Blob特征分析算法

今天要整理记录的笔记是关于图像Blob特征分析算法的内容。计算机视觉中的Blob(斑点)是指图像中的一块连通区域,Blob分析就是对前景、背景分离后的二值图像,进行连通域提取和标记。标记完成的每一个Blob都代表一个前景目标,然后就可以计算Blob的一些相关特征。也可以称Blob(斑点)是指二维图像中和周围像素点存在颜色差异和灰度差异的特征区域,针对这些特征区域所提取出某些具有区域代表性的信息,...

2020-04-26 23:10:42 8576 1

原创 OpenCV4学习笔记(48)——GFTT特征点检测算法

在之前的笔记《OpenCV学习笔记(32)》中整理记录了在OpenCV中关于Harris角点检测和shi-tomas角点检测的一些内容,而由于角点对于一幅图像而言是非常重要的特征点,所以OpenCV在特征点检测模块中又基于shi-tomas角点检测算法集成了一个新的特征检测器,这也就是今天要记录的GFTT特征点检测。那么什么是GFTT特征点呢?哈哈哈哈其实这个命名很随意,还记得之前记录的关于调用...

2020-04-23 21:55:23 4727 3

原创 OpenCV4学习笔记(47)——BRISK特征提取描述算法

今天要整理记录的是OpenCV中BRISK特征提取描述算法的运用。BRISK特征提取描述算法全称为 Binary Robust Invariant Scalable Keypoints(二进制鲁棒不变可扩展关键点)。BRISK算法也是SIFT算法的一种改进型,主要是针对于旋转不变性、鲁棒性、运算速度等方面做了优化,其大致流程如下:(1)在提取特征点阶段与SIFT算法类似(可见,同样是构造多尺度...

2020-04-22 22:52:51 2118

原创 OpenCV4学习笔记(46)——特征提取与描述之AKAZE特征提取描述算法

在之前的笔记《OpenCV4学习笔记(38)》中,整理记录了我本人对于经典特征算法——SIFT算法一些流程的理解,而今天要整理的是SIFT算法的其中一种改进算法,也即AKAZE特征算法。AKAZE特征算法是SIFT特征算法的一种改进版本,但不使用高斯模糊来构建尺度空间,因为高斯模糊具有丢失边缘信息的缺点,进而采用非线性扩散滤波来构建尺度空间,从而保留图像更多的边缘特征。在特征点提取阶段,AKA...

2020-04-20 23:03:20 6200 2

原创 OpenCV4学习笔记(45)——基于自定义特征向量和SVM线性分类器实现的数字识别

在OpenCV4学习笔记(43)和OpenCV4学习笔记(42)这两篇笔记中,分别整理记录了基于HOG特征检测和SVM线性分类器来实现的自定义对象检测以及行人检测。而今天所要整理的内容,依然是利用SVM线性分类器实现对印刷体数字的检测。...

2020-04-17 15:39:56 1560 1

原创 OpenCV4学习笔记(44)——基于HOG特征与SVM线性分类器的自定义对象检测

在上次的笔记OpenCV4学习笔记(44)中,使用OpenCV自带的HOG+SVM行人检测模型来对图像中的行人进行检测,而在实际应用中我们更多的是需要针对自定义对象进行检测,所以今天就来整理一下在OpenCV中如何基于HOG特征与SVM线性分类器来实现对我们自定义对象的检测。首先我们需要训练针对自定义对象的SVM模型,通过提取样本图像的HOG特征描述子,来生成样本的特征数据,再通过SVM线性分类...

2020-04-15 22:36:09 1273

基于OpenCV中ArUco模块和QT实现的增强现实效果(AR)

基于OpenCV中ArUco模块和QT实现的增强现实效果(AR),内含演示视频,需要有aruco标记才可以使用,如果打印的是其他aruco标记则需要对其四个顶点按照标记的id重新获取坐标。

2020-05-29

基于OpenCV4+QT5实现口罩检测.7z

基于OpenCV实现口罩检测功能,可以实时检测人脸是否佩戴口罩,并使用QT设计GUI界面。需要环境:openVINO(加速)、OpenCV4、QT5

2020-05-24

.cache.7z(编译opencv时的缺失文件)

使用cmake编译opencv时很经常缺失的文件,如果网络不好无法通过cmake下载,可以下载这个资源然后放置到sources里的对应文件夹即可继续编译。 包含boostdesc、opencv_videoio_ffmpeg、vgg、ippicv、data等文件。

2020-05-07

0~9印刷体数字识别.7z

基于自定义特征向量和SVM线性分类器实现的印刷体数字识别,内含源代码和训练、测试图像(包括印刷体数字和字母图像)

2020-04-17

CAM-Shift对象移动跟踪.7z

基于OpenCV中的CAM-Shift算法实现绘制彗星尾巴效果路径的移动对象跟踪。文件内包含一个演示视频,也可以调用摄像头进行特定对象跟踪。

2020-04-16

HOG+SVM自定义对象检测.7z

通过图像HOG特征提取描述和SVM线性分类器的训练学习,得到对自定义对象的检测模型。内含两个自定义对象的正负样本图像和测试图像可供测试。

2020-04-16

KNN手写数字识别.7z

利用OpenCV中的KNN聚类方法来实现手写数字识别,可实时在创建的窗口画板上书写数字并进行识别。内含训练用的手写数字数据,如果缺失dll文件可以下载我的另一个资源“install文件”,其中包含了联合openVINO和CUDA编译的OpenCV4.2.0版本的各个模块和dll。

2020-04-15

TKinter创建登录界面.7z

利用Python的TKinter模块实现的简易登录界面,可实现管理员和用户的注册、登录、编辑等功能。

2020-04-15

woterLine_dll.zip

利用OpenCV实现的水平线段检测功能,并封装为dll文件。 调用接口时输入字符串类型的点集,返回水平线段的信息,可用于数据图的统计分析。

2020-04-15

空空如也

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

TA关注的人

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