![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv
花花...
追自己的光
展开
-
OpenCV之形态学图像处理(十三)
背景减除受很多因素影响,准确性取决于如何捕获数据以及如何处理数据。影响算法的最大因素之一是噪声水平,图像中孤立颗粒和孤立黑/白像素之间的东西。形态学广泛应用实时系统中确保输出质量。形态学运算符不依赖于像素在图像中的排序方式,依赖于它们的值,适合操纵二进制图像中的形状。1,使形状变细,使用侵蚀操作Mat performErosion(Mat inputImage, int erosionEle...原创 2020-04-16 17:17:14 · 193 阅读 · 1 评论 -
OpenCV之计算机视觉任务完成(十二)
1,内置数据结构和输入/输出,提供内置基元来处理与图像处理和计算机视觉相关的操作。OpenCV自带Image、Point、Rectangle等基本结构,且针对速度和内存进行了优化。2,图像处理操作,执行如图像过滤、形态学操作、几何变换、颜色转换、图像绘制、直方图、形状分析、运动分析、特征检测等操作,大多包含在imgproc模块中。3,GUI,提供highgui模块用于处理所有高级用户界面操作。...原创 2020-04-16 15:28:11 · 444 阅读 · 0 评论 -
Cmake配置OpenCV
选择code路径和bin路径,Configuret和Generate,注意编绎后手动勾选BUILD_opencv_world和BUILD_EXAMPLES,勾选BUILD_opencv_world是把所有的lib文件全部生成一个opencv_world411.lib,勾选BUILD_EXAMPLES编绎OpenCV自带的例子。在选择生成的bin路径下找到OpenCV.sln,打开项目重新生成解决...原创 2020-04-05 22:24:35 · 580 阅读 · 0 评论 -
OpenCV之光学字符识别--文本分割算法(十一)
一,预处理,对图像进行阀值处理,消除所有颜色信息。Mat binarize(Mat input) { Mat binaryImage; cvtColor(input, input, COLOR_BGR2GRAY); threshold(input, binaryImage, 0, 255, THRESH_OTSU); //Count the number of black ...原创 2020-04-02 17:25:11 · 557 阅读 · 0 评论 -
OpenCV之基于特征的跟踪(十)
基于特征的跟踪是指跟踪视频中连续帧的各个特征点,其优点是不必在每一帧中检测特征点,可以只检测一次,之后继续跟踪它们。采用一种称为光流的技术来跟踪这些特征,光流是计算机视觉中最流行的技术之一。该技术需要选择一组特征点,并通过视频流跟踪它们。当检测到特征点时,则计算位移向量并显示连续帧之间的关键点的运动情况,这些向量称为运动向量。与前一帧相比,特定点的运动向量基本上只是指示该点移动位置的方向线。当...原创 2020-04-01 22:29:09 · 1571 阅读 · 0 评论 -
OpenCV之用于跟踪的好特征(九)
在Harris角点检测器提出之后Shi和Tomasi提出更好的办法,称为”Good Features to Track”(用于跟踪的好特征)。原始论文http://www.ai.mit.edu/courses/6.891/handouts/shi94good.pdf。其使用不同的打分函数来提高质量。采用这种方法可以找到给定图像中N个最强的角点。int main(int argc, char* ...原创 2020-04-01 15:14:29 · 283 阅读 · 0 评论 -
OpenCV之用Harris角点检测器检测点(八)
角点检测是用于检测图像中的兴趣点的技术。兴趣点基本上是可以在图像中唯一检测到的东西。兴趣点有助于我们描绘图像,广泛用于目标跟踪、图像分类和视觉搜索等应用。角点是两条边的交点,是兴趣点的特定情况,有一种流行的角点检测技术称为Harris角点检测器,该技术主要基于灰度图像的偏导数构造2*2矩阵,然后分析特征值。以图像中的一小块区域为例,目标是确定该区域是否有一个角点,即考虑所有相邻区域并计算区域和...原创 2020-04-01 14:46:26 · 178 阅读 · 0 评论 -
OpenCV之构建交互式对象跟踪器(七)
连续自适应平移(CAMShift)算法基本上一个改进版的meanshift算法,可构建一个了解所选对象特征并自动跟踪它的对象跟踪器。meanshift算法理解,选择一个感兴趣区域,希望对象跟踪器跟踪该对象。在这个区域中,根据颜色直方图选择若干点,并计算空间点的图心,图心的移动控制对象的移动方向,将对象的边界框移动到新位置,称为meanshift算法,根据图心的移动可持续更新对象的当前位置。mea...原创 2020-03-16 17:56:32 · 198 阅读 · 0 评论 -
OpenCV之学习对象跟踪—跟踪特定颜色的对象(六)
通过使用色彩空间信息来构建一个好的视觉跟踪器,颜色信息对光照条件敏感,实际应用程序中必须进行预处理解决光照问题。假设该问题已解决,获取的是干净的彩色图像。RGB是计算机屏幕上的原生表示形式,色调饱和度值(HSV)则信息量丰富与颜色感知相关,色调指色谱,饱和度指特定颜色强度,值为该像素亮度。int main(int argc, char* argv[]){ //Create the captu...原创 2020-03-16 16:03:52 · 294 阅读 · 0 评论 -
OpenCV之图像处理中的背景建模(五)
1,直接的背景减除,这种方法的主要要求之一是对象的颜色和亮度要与背景的颜色和亮度差异足够多,影响此类算法的因素是图像噪声、光照条件和相机中的自动对焦。2,帧差分,在实时视频流中取得连续帧之间的差异,并显示这些差异。Mat frameDiff(Mat prevFrame, Mat curFrame, Mat nextFrame){ Mat diffFrames1, diffFrames2, ...原创 2020-03-16 15:21:01 · 753 阅读 · 0 评论 -
OpenCV之在实时视频中覆盖太阳镜(四)
int main(int argc, char* argv[]){ string faceCascadeName = argv[1]; string eyeCascadeName = argv[2]; CascadeClassifier faceCascade, eyeCascade; if (!faceCascade.load(faceCascadeName)) { cerr &...原创 2020-08-10 17:42:59 · 152 阅读 · 0 评论 -
OpenCV之在实时视频中覆盖面具(三)
int main(int argc, char* argv[]){ string faceCascadeName = argv[1]; CascadeClassifier faceCascade; if (!faceCascade.load(faceCascadeName)) { cerr << "Error loading cascade file. Exiting!" ...原创 2020-03-13 17:18:18 · 488 阅读 · 2 评论 -
OpenCV之机器学习对象分类(二)
计算机视觉和机器学习工作流程预处理/分割/特征提取/分类结果/后处理1,输入图像的预处理,包括去除光和噪声、滤波、模糊等,参考上一篇文章。Mat removeLight(Mat img, Mat pattern, int method){ Mat aux; //if method is normalization if (method == 1) { //Require cha...原创 2020-03-12 18:15:28 · 708 阅读 · 0 评论 -
OpenCV之对象分割和检测(一)
一,预处理1,噪声消除如果不去除噪声,就会检测到比预期更多的对象,中值滤波器通常用于去除椒盐噪声。Mat img_noise;medianBlur(img, img_noise, 3);中值模糊函数需要三个参数:带有1、3或4通道的输入图像,当内核大于5时,图像深度只能是CV_8U输出图像,与输入图像相同类型和深度,应用中值模糊算法后的结果图像内核大小,孔径大于1的奇数2,用光...原创 2020-02-23 18:13:12 · 666 阅读 · 3 评论 -
RAW数据生成BMP图片
#include “pch.h”#include #include <opencv2/opencv.hpp>using namespace cv;using namespace std;typedef unsigned char BYTE;typedef unsigned long DWORD;typedef unsigned short WORD;typedef lo...原创 2020-02-22 16:54:08 · 658 阅读 · 1 评论