
Opencv
走过,莫回头
这个作者很懒,什么都没留下…
展开
-
运动目标检测
文章目录前言一、混合高斯模型是什么?二、API1.代码2.结果前言前景/背景分割法提取前景物体的方法比较简单,适用于背景相对固定的简易场景。但是在很多情况下,背景中的某些部位会在不同的值之间波动,导致背景检测结果频繁出错。背景物体的移动(如树叶)、刺眼的物体(如水面)等因素都是产生这种现象的原因。物体的阴影也会带来问题,因为阴影也是会移动的。为了解决这些问题,我们引入了更复杂的背景模型。提示:以下是本篇文章正文内容,下面案例可供参考一、混合高斯模型是什么? 混合高斯方法是这些改进型算法中的原创 2020-12-08 22:19:13 · 551 阅读 · 3 评论 -
Canny算子边缘检测原理以及实现
Canny算子边缘检测原理以及实现原理解析基于卷积运算的边缘检测算法,比如Sobel、Prewitt等,有以下几个缺点:没有充分利用边缘的梯度方向。最后输出的边缘二值图,只是简单的利用阈值进行处理,显然如果阈值过大,则会损失很多边缘信息;如果阈值过小,则会出现很多的噪声。而Canny边缘检测基于这两点进行的改进,提出:基于梯度方向的非极大值抑制。双阈值的滞后阈值处理。步骤利用高斯滤波来平滑图像,目的是去噪声。寻找图像的强度梯度,和方向。利用非极大值抑制来消除边误检。(其实是对原创 2020-06-07 21:45:33 · 1580 阅读 · 0 评论 -
Opencv图像处理——边缘处理Sobel、拉普拉斯算子
Opencv图像处理——边缘处理Sobel、拉普拉斯算子边缘是什么——是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用。如何提取边缘——对图像求它的一阶导数,导数越大,说明在边缘信号越强。处理步骤高斯模糊(去噪声)转化为灰度图像算子取绝对值显示结果Sobel算子Sobel算子又称一阶微分算子,在水平和垂直两个方向上求导,得到图像X方向和Y方向的梯度图像,Sobel算子功能集合高斯平滑和微分求导。Sobel算子的垂直梯度和水平梯度原创 2020-05-11 17:16:07 · 697 阅读 · 0 评论 -
Opencv图像处理——水平线和垂直线的提取
Opencv图像处理——水平线和垂直线的提取检测原理图像形态学操作,可以通过自定义的结构元素实现结构元素对输入图像一些对象敏感、另外一些对象不敏感,这样就会让敏感的对象改变而不敏感的对象保留输出。通过使用两个最基本的形态学操作:“膨胀”与“腐蚀”,使用不同的结构元素实现对输入图像的操作、得到想要的结果。操作过程输入彩色图像-imread转换为灰度图像-cvtColor转换为二值图像-adaptiveThreshold定义结构元素开操作(腐蚀+膨胀)提取水平与垂直直线代码:#inclu原创 2020-05-10 21:46:06 · 1886 阅读 · 0 评论 -
Opencv 图像处理——膨胀和腐蚀
opencv 图像处理——膨胀和腐蚀 腐蚀和膨胀是基本的形态学运算。形态学中最基本的概念是结构元素。结构元素可以简单的定义为像素的组合,在对应的元素上定义了一个原点(也称为锚点)。Opencv中的APIcv::Mat getStructuringElement(int shape, Size esize, Point anchor = Point(-1, -1) );这个函数的第一个参数表示内核的形状,有三种形状可以选择。矩形:MORPH_R原创 2020-05-10 17:11:17 · 888 阅读 · 0 评论 -
opencv图像处理——滤波器
opencv图像处理——滤波器均值滤波器假设我们有一个3*3的模板,系数全为1,那么欲求的中心点像素值就是以该模板为中心的9个像素的平均值来代替。根据定义可知,该滤波器具有模糊边缘的负面效应。通过空间均值处理来模糊图像,可以突出感兴趣的物体,即将较部分图像融入背景中 ,部分图像‘突出显示’出来,达到平滑图像的作用。平滑既是模糊 cv::boxFilter(image, dst, -1, cv::Size(3, 3), cv::Point(-1,-1)); cv::namedWindow("boxF原创 2020-05-09 21:00:57 · 719 阅读 · 0 评论 -
opencv图像处理——掩膜操作
opencv——掩膜操作 掩膜操作是指根据掩膜矩阵(也称作核kernel)重新计算图像中每个像素的值。掩膜矩阵中的值表示了邻近像素值(包括该像素自身的值)对新像素值有多大的影响。从数学的观点来看,我们用自己设置的权值,对像素领域内的值做了个加权平均。 比如,下面这个公式表示用5倍当前像素的值减去该像素上、下、左、右四个像素值和,得到的结果赋值给当前像素。使用该公式可以用于提升图像的对比度。调节I(i,j)的系数权重可以得到不同的对比度提升效果。I(i,j)=5∗I(i,j)−[I(i−1,j)+I原创 2020-05-09 15:40:34 · 1323 阅读 · 0 评论 -
opencv图像处理——GrabCut 图像分割
图像处理——GrabCut 图像分割 GrabCut算法,首先,把所有未标记的像素临时标为前景(cv::GC_PR-FGD)。基于当前的分类情况,算法将像素划分为多个颜色相似的组(即K个前景组,K个背景组)。下一步是通过引入前景和背景像素之间的边缘,确定背景/前景的分割,这将通过一个优化过程来实现。在此过程中,将试图连接具有相似标记的像素,并且避免出现边缘强度相对均匀的区域。使用Graph C...原创 2020-05-08 10:17:20 · 897 阅读 · 0 评论 -
Opencv——将视频保存成一系列视频帧图片
Opencv——将视频保存成一系列视频帧图片1.代码#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/video/video.hpp>#include<opencv2/highgui/highgui.hpp>using namespace std;in...原创 2019-10-22 17:28:25 · 1532 阅读 · 0 评论 -
Opencv 视频帧的读写处理指导
Opencv 视频帧的读写指导思路指导1.先打开视频文件2.遍历视频帧3.处理视频帧4.保存所有的视频帧1.打开视频1.当读取的是保存的视频时,打开视频的方法为:cv::VideoCapture capture("视频名"); //将视频放到工程文件夹下2.当读取的是摄像头采集的是视频帧时,打开视频的方法为:cv::VideoCapture capture(0...原创 2019-09-07 16:59:03 · 3831 阅读 · 0 评论