08 2020 档案
摘要:在定义轮廓点集的时候定义成了Point2f,虽然opencv中点的数据类型是Point2f,但是findContours函数接受的点类型之能是Point类型 所以将 改为 即可
阅读全文
摘要:学习到opencv特征检测部分,有的特征检测api不在opencv基础库中,需要额外下载,再对opencv进行编译,下面记录一下opencv的编译过程,使用的opencv版本是4.12 首先上opencv官网上下载对应版本的source压缩包 https://opencv.org/releases/
阅读全文
摘要:煤矸石分类项目,提取的煤矸石灰度均值和灰度方差作为特征进行分类,SVM的简单代码如下,使用的二次封装的opencv库,在其他机器上运行将头文件和条件编译宏替换成opencv自己的就可以了 #include "sv.h" #ifdef _DEBUG #pragma comment(lib,"BoxCV
阅读全文
摘要:SURF(Speeded Up Robust Features)特征关键特性 特征匹配,特征识别等方面有很好的效果,具有四个特征 --特征检测 --尺度空间(尺度不变性) --选择不变性(光照不变性,旋转不变性) --特征向量(匹配用) 特征检测整个流程可以用DDM来概括,第一个D是detector
阅读全文
摘要:理论与现实总是不一致的,实际情况下几乎所有角点都不是一个准确的像素点,因为图像的边缘不是之间有黑到白,而往往存在一个灰度的过度。(100,5)实际上 (100.234,5.789),而我们在跟踪、三维重建,相机校正等应用上又都需要精确的像素位置。有以下几种解决方法 1.插值法 通过周围四个点的变化情
阅读全文
摘要:自定义角点检测器是基于Harris和Shi-Tomasi角点检测的 首先通过计算矩阵M来得出λ1λ2两个特征值,然后根据他们得到角点响应值 然后自己设置阈值实现实现计算出阈值得到有效响应值的角点位置 API cv::cornerEigenValsAndVecs ( InputArray src, O
阅读全文
摘要:背景:煤矸石识别项目,需要先检测再识别,检测采用基于轮廓的定位方法,先找出轮廓,再求出轮廓的质心作为检测目标的中心点。但是遇到问题:图像边缘的煤矸石轮廓无法闭合,找到的中心店不准确,有时会出现一块石头两个中心点的情况 对预处理图像进行像素操作,图像二值化后将边界全部赋值为255也就是填充为白色可以解
阅读全文
摘要:属性 -> c/c++ -> 预处理器 -> 点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS,即可。
阅读全文
摘要:封装自己的算法写测试工程的时候遇到这个问题,单元测试工程在调用dll时报错 原因是单元测试和算法库在一个解决方案中,但是我没有将单元测试工程设置为启动项。以算法的dll启动就会出错 将单元测试工程设为启动项就解决了
阅读全文
摘要:Shi-Tomasi原理几乎和Harris一样的,只不过最后计算角点响应的公式发生了变化 变为 min(λ1,λ2) 这样计算会变得更简单 API cv::goodFeaturesToTrack( InputArray src, //默认灰度图像 OutputArray corners, int m
阅读全文
摘要:Harris角点提取算法:Harris 角点提取算法是Chris Harris 和Mike Stephens 在H.Moravec 算法的基础上发展出的通过自相关矩阵的角点提取算法,又称Plessey算法。Harris角点提取算法这种算子受信号处理中自相关面数的启发,给出与自相关函数相联系的矩阵M。
阅读全文
摘要:目前的初步理解:使用回调函数的过程是将要调用的函数作为参数传递给上层函数,上层函数可以使用同样的调用方法来调用不同的回调函数,这样做有利于封装,可以将数据项与函数分离开,常用于网络通信中,下面直接上代码吧,以后有了更深刻的认识再做详细记录 #include<iostream> #include<op
阅读全文
摘要:增加了标记,分水岭变换与着色,着色中的轮廓填充判定条件可以仔细看一下,下面是分水岭分割完整代码 #include"pch.h" #include<iostream> #include<opencv2/opencv.hpp> #include<math.h> using namespace std;
阅读全文
摘要:什么是图像分割 image segmentation 直观含义就是将图像从背景中分离开 图像分割是图像处理最重要的处理手段之一 图像分割的目标是将图像中的像素根据一定的规则分为若干个cluster几何,每个集合包含一类像素 根据算法分为监督学习方法和无监督学习方法,图像分割的算法多数都是无监督的学习
阅读全文