OpenCV
文章平均质量分 81
opencv笔记
L7O7
这个作者很懒,什么都没留下…
展开
-
30 OpenCV 案例:实施人脸检测
opencv知识点:本课所解决的问题:本节课的内容主要基于opencv 4 实现,开始我们先了解一下。本课将介绍一种自带的,一个进行人脸检测的模型为了方便,我们不采用视频的方式,我们就直接去下载课程源码zip了下载完之后到图中目录:opencv_tutorial_data-master → models → face_detector目标文件夹:安装opencv目录下的sources → samples → dnn → face_detector开始前,我们可以先把头文件和命名空间补上这里提一下,当我们使用原创 2024-08-18 09:36:42 · 817 阅读 · 0 评论 -
29 OpenCV 高斯双边模糊
边缘保留滤波算法(EPF)有能力通过卷积处理实现图像模糊的同时对图像边缘不会造成破坏,滤波之后的输出完整的保存了图像整体边缘(轮廓)信息。处理无论是均值还是高斯都是属于模糊卷积,它们都有一个共同的特点就是模糊之后图像的边缘信息不复存在,受到了破坏。双边模糊考虑了像素值分布的影响,对像素值空间分布差异较大的进行保留从而完整的保留了图像的边缘信息。高斯模糊是考虑图像空间位置对权重的影响,但是它没有考虑图像像素分布对图像卷积输出的影响。双边模糊可以去除无关噪声,同时保持较好的边缘信息。原创 2024-08-18 09:34:28 · 458 阅读 · 0 评论 -
28 OpenCV 高斯模糊
计算平均值的时候,我们只需要将"中心点"作为原点,其他点按照其在正态曲线上的位置分配权重,不平滑主要在于距离中心点很远的点与距离中心点很近的所带的权重值相同,产生的模糊效果一样。高斯模糊之所以叫高斯模糊,就是因为它运用了高斯的正态分布的密度函数(概率论知识)。平滑化处理,就是用平滑滤波函数,生成卷积核对应的权重,然后对图像进行卷积操作。上面的正态分布是一维的,而对于图像都是二维的,所以我们需要二维的正态分布。正态分布中,越接近中心点,取值越大,越远离中心,取值越小。正态分布显然是一种可取的权重分配模式。原创 2024-08-18 09:32:30 · 312 阅读 · 0 评论 -
27 OpenCV 图像卷积操作
图像卷积靠卷积核完成卷积核规定了运算的规则滤波/模糊是卷积运算所带来的效果不同的卷积核所得到的卷积效果不同,故衍生出了不同种类的滤波/模糊,形态运算,梯度运算等概念。由此可见:卷积是图像处理的基础,许许多多处理方式都是离不开卷积的。原创 2024-08-18 09:27:01 · 702 阅读 · 0 评论 -
26 OpenCV 直方图均衡化
话说回直方图,我们引入直方图,很大程度上是为了让我们可以根据直方图的形态,判断图像的质量,比如根据下图所示,会很快发现一张图片是过亮还是过暗。图像直方图均衡化可以用于图像增强、对输入图像进行直方图均衡化处理,提升后续对象检测的准确率等。而在HSV色彩空间中,V通道关于亮度的,所以我们实现彩色图像的均衡化可以从V通道着手。直方图均衡化是将原图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。中,如果要实现灰度图像直方图的均衡化,只要用到一个。我们本课涉及的直方图均衡化,就是比较常用的那一种。原创 2024-08-18 09:24:29 · 681 阅读 · 0 评论 -
25 OpenCV 二维直方图
opencv知识点:本课所解决的问题:上节课中,我们学习了一维直方图的绘制,那我们该如何绘制二维直方图呢?关于二维直方图的绘制,我们通常选择HSV模式下的图像我们回顾的知识,可以发现H(色调)范围是[0,180]S(饱和度)范围是[0,255]V(明度)范围是[0,255]即HS两个通道就可以表示颜色,非常方便二维直方图的绘制在中,如果我们想绘制二维维直方图,要用到三个介绍如下cvRoundminMaxLoc2.绘制二维直方图本课中计算的直方图维数为2维,采取方式为我们先来输出一下得到的直方图数原创 2024-08-18 09:22:17 · 384 阅读 · 0 评论 -
24 OpenCV 图像直方图
由于其计算代价较小,且具有图像平移、旋转、缩放不变性等众多优点,广泛地应用于图像处理的各个领域,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类、反响投影跟踪。因此一张较暗图片的直方图中的数据多集中于左侧和中间部分,而整体明亮、只有少量阴影的图像则相反。一幅灰度图像:图像直方图将0-255不同值分布在坐标系的X轴上,对应像素值的数量分布在Y轴上。通常直方图的维数要低于原始数据,所以它的信息有缺,图像直方图并不能唯一表示一张图像。是用以表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素数。原创 2024-08-18 09:19:54 · 672 阅读 · 0 评论 -
23 OpenCV 视频处理与保存
个人资料,仅供学习使用修改时间——2022年1月26日 00:49:43视频老师:贾志刚。原创 2024-08-18 09:17:36 · 794 阅读 · 0 评论 -
22 OpenCV 视频文件摄像头使用
VIdeoCapture类读取视频/相机 - 三种方式读取视频帧 - 两种方式。原创 2024-08-18 09:10:51 · 797 阅读 · 0 评论 -
21 OpenCV 图像旋转
图像变换将原定义在图像空间的图像以某种形式转换到另外的空间,利用空间的特有性质方便地进行一定的加工,最后再转换回图像空间以得到所需的效果。只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚性变换。也就是说,仿射变换和透视变换包含所有的基本变换,同时也作为基本变换的某种组合。为了更好的理解图像翻转,图像旋转等,我们首先介绍一下变换相关的概念。图像几何变换和图像变换的区别为:性质不同,包括不同,原始图像不同。通过如上图,我们可以计算新图像的宽度,高度,旋转中心的通式。原创 2024-08-18 09:07:54 · 889 阅读 · 0 评论 -
20 OpenCV 图像翻转
中,如果我们想对一个图像进行翻转,要用到这样一个API。接下来,我们进行图像翻转演示。原创 2024-08-16 15:44:46 · 323 阅读 · 0 评论 -
19 OpenCV 图像放缩与插值
个人资料,仅供学习使用修改时间——2022年1月24日 20:17:13视频老师:贾志刚。原创 2024-08-16 15:42:40 · 379 阅读 · 0 评论 -
18 OpenCV 图像像素类型转换与归一化
但是这可能会给我们模型的训练过程带来一些问题, 因为在深度神经网络训练时一般使用较小的权重值来进行拟合,而当训练数据的值是较大整数值时,可能会减慢模型训练的过程。(虽然图像的像素处于0-1范围时,opencv会自动*255,由于仍然介于0-255之间,所以图像依旧是有效的,并且可以正常查看图像。如果我们在将图像输入到神经网络之前对图像做像素值归一化的处理,即将像素值缩放到0-1之间,就能够避免很多不必要的麻烦。这是因为imshow如果想要正确显示浮点类型的图像,必须进行归一化,把取值空间归一化为[0.1]原创 2024-08-16 15:39:42 · 848 阅读 · 0 评论 -
17 OpenCV 鼠标操作与响应
比如:提取矩形ROI区域时,如果box的width比较小,就会出现部分覆盖提取的问题。因为这只是一种简单的,通过矩形进行的ROI提取,提取的区域有时会有一些问题。要想在图像上,通过鼠标绘制图形,我们需要了解两个API。为了演示通过鼠标绘制矩形,我们选择三个鼠标事件。接下来,我么试一下通过绘制矩形提取ROI区域。我们这里,实现了通过鼠标在四个区域绘制矩形。原创 2024-08-16 15:36:59 · 457 阅读 · 0 评论 -
16 OpenCV 多边形填充与绘制
绘制多条多边形曲线 -填充绘制的多边形 -fillPoly()画轮廓 -原创 2024-08-16 15:33:11 · 378 阅读 · 0 评论 -
15 OpenCV 随机数与随机颜色
uniform是RNG中的一个方法,uniform(a,b),指定数的范围为(a,b)我们绘制一个线段,把两个点的坐标,还有三个通道的颜色都设置为了随机数得到。RNG(Random Number Generator,随机数生成器)是。中的一个随机数生成器类。原创 2024-08-16 15:31:19 · 363 阅读 · 0 评论 -
14 OpenCV 图像几何形状绘制
可以看到,这种隐约的图形效果很nice,只在原图像上绘制图形是达不到这种效果的。中,图像的坐标是,↓y,→x,在填写参数的时候一定要注意。接下来,这里演示一种很有意思的用法。接下来,我们开始绘制几何图形。中,椭圆有两种传参方式。原创 2024-08-16 15:27:00 · 443 阅读 · 0 评论 -
13 OpenCV 图像像素值统计
图像像素最小/最大值 -图像像素均值/标准差 -原创 2024-08-16 15:22:48 · 695 阅读 · 0 评论 -
12 OpenCV图像色彩空间转换 - 进阶
知识点:本课所解决的问题:HSV相较于BGR色彩空间,颜色的区分度比较明显,对某个颜色来说可以很容易的提取出来。在opencv中,我们提取指定色彩范围的区域,采用实现,这样的一块区域,学名叫做ROI(region of interest),感兴趣区域。关于inRange的提取原理程序:更换图像背景,这里利用到了重载的程序:OpenCV 4.6.0 官方文档原创 2024-08-16 15:20:19 · 285 阅读 · 0 评论 -
11 OpenCV通道分离与合并
如果R,G,B分离,它们就分别对应一个单通道图像(因为都是单通道,所以为灰度图像)这时,如果再通过BGR2GRAY转换色彩空间,就可以得到对应的单通道图像。下图中间的R,G,B图,并不是分离,而是3通道中其他两个通道置0了。当然,这三个单通道图像再经过合并,就会恢复成原本的彩色图像了。彩色图像,是由RGB三个通道合并起来得到的。这里我们进行一个演示,实现如下通道的混合。这个混合的意思是,彩色图像本来是。根据文档,我们有两种分离方式。根据文档,我们有两种合并方式。的顺序,经过通道混合就变成了。原创 2024-08-16 15:17:29 · 462 阅读 · 0 评论 -
10 OpenCV图像像素的逻辑操作
我们先来绘制两个矩形,绘制矩形有两种传参方式。这个参数的作用是:缩小图像,同时缩短。如下就是3,2,1,0对应的效果。这里重点说一下最后1个参数。接下来,我们分别进行演示。与(0,0)位置的距离。中,图像的为运算有4种。原创 2024-08-16 15:14:06 · 420 阅读 · 0 评论 -
09 OpenCV自带颜色表操作
以及1个while循环,我们便可以实现颜色风格的循环转换。opencv提供22种颜色风格的。我们首先把颜色表做成一个枚举数组。,就可以进行颜色风格的转换。原创 2024-08-16 15:08:17 · 863 阅读 · 0 评论 -
08 OpenCV 回调函数+键盘响应操作
作者:no.body回调函数(callback)是什么?来源:知乎我们绕点远路来回答这个问题。系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(应用编程接口),以供应用程序员使用。所以在抽象层的图示里,库位于应用的底下。原创 2024-08-16 15:02:20 · 580 阅读 · 0 评论 -
07 OpenCV滚动条操作2.0 - 调整亮度与对比度
userdata。原创 2024-08-16 14:59:41 · 774 阅读 · 0 评论 -
06 OpenCV 滚动条操作1.0 - 调整图像亮度
上一课中,我们调整亮度只能一次一次的去调整,现在我们来试一下通过滚动条调整亮度。中,我们要想在图像上通过滚动条调整亮度,要用到两个API。TrackbarCallback(用户自写)原创 2024-08-16 15:06:14 · 286 阅读 · 0 评论 -
05 OpenCV 图像像素的算术操作
图像像素算术操作 - 运算符值的截断 - saturate_cast<>()图像像素算术操作 - 专用函数。原创 2024-08-16 14:52:54 · 1497 阅读 · 0 评论 -
04 OpenCV 图像像素的读写操作
如何获取/改变图像的某个像素?如何利用数组遍历图像像素?如何利用指针遍历图像像素?原创 2024-08-16 14:48:57 · 460 阅读 · 0 评论 -
03 OpenCV图像对象的创建与赋值
忽略掉前面的字符,我们只关注Cx,可以很快的发现,Cx即表示通道数。:==相当于浅复制,只复制了矩阵头,指向的是同一个数据块。只会创建图像是不够的,这里我们再说一下Mat对象赋值的事情。什么是Mat呢,Mat其实就是matrix(矩阵)的缩写。Mat对象创建,常用的是创建空白图像。我们看到的图像,就是以数字矩阵的形式存储在计算机中,在。图像depth的枚举值跟通道数无关,相同类型下如。看上图,我们发现Mat对象复制是有三种方法的。图像depth的真实值还要考虑通道数,如。,图像深度的枚举值是一样的。原创 2024-08-16 14:41:17 · 503 阅读 · 0 评论 -
02 OpenCV的图像色彩空间转换
opencv知识点:色彩空间转换函数 -cvtColor()图像保存 -imwrite()图像显示 -imshow()原创 2024-08-16 14:30:19 · 365 阅读 · 0 评论