Opencv
贾老师知识星球总结
lovefive55
这个作者很懒,什么都没留下…
展开
-
Opencv-直方图均衡化
直方图均衡化知识点python代码c++代码知识点图像直方图均衡化图像直方图均衡化可以用于图像增强、对输入图像进行直方图均衡化处理,提升后续对象检测的准确率在OpenCV人脸检测的代码演示中已经很常见。此外对医学影像图像与卫星遥感图像也经常通过直方图均衡化来提升图像质量。OpenCV中直方图均衡化的API很简单equalizeHist(src, dst)python代码impor...原创 2019-09-09 16:29:58 · 474 阅读 · 0 评论 -
Opencv-图像直方图
图像直方图知识点python代码c++代码知识点图像直方图的解释图像直方图是图像像素值的统计学特征、计算代价较小,具有图像平移、旋转、缩放不变性等众多优点,广泛地应用于图像处理的各个领域,特别是灰度图像的阈值分割、基于颜色的图像检索以及图像分类、反向投影跟踪。常见的分为灰度直方图颜色直方图Bins是指直方图的大小范围, 对于像素值取值在0~255之间的,最少有256个bin,此外还...原创 2019-09-09 15:48:53 · 253 阅读 · 0 评论 -
Opencv-图像ROI与ROI操作
图像ROI与ROI操作知识点python代码知识点图像ROI与ROI操作图像ROI解释:图像的ROI(region of interest)是指图像中感兴趣区域、在OpenCV中图像设置图像ROI区域,实现只对ROI区域操作。矩形ROI区域提取矩形ROI区域copy不规则ROI区域ROI区域mask生成像素位 and操作提取到ROI区域加背景or操作add...原创 2019-09-09 10:47:03 · 10324 阅读 · 1 评论 -
Opencv-几何形状绘制
几何形状绘制知识点python代码c++代码知识点绘制几何形状绘制直线绘制圆绘制矩形绘制椭圆填充几何形状OpenCV没有专门的填充方法,只是把绘制几何形状时候的线宽 - thickness参数值设置为负数即表示填充该几何形状或者使用参数CV_FILLED随机数方法:RNG 表示OpenCV C++版本中的随机数对象,rng.uniform(a, b)生成[a, b)之间的随...原创 2019-09-08 15:21:29 · 269 阅读 · 0 评论 -
Opencv-图像插值
图像插值知识点python代码c++代码知识点图像插值(Image Interpolation)最常见四种插值算法INTER_NEAREST = 0INTER_LINEAR = 1INTER_CUBIC = 2INTER_LANCZOS4 = 4相关的应用场景几何变换、透视变换、插值计算新像素resize,如果size有值,使用size做放缩插值,否则根据fx与fy卷积关于这...原创 2019-09-08 15:03:58 · 2031 阅读 · 0 评论 -
Opencv-图像翻转
-图像翻转知识点python代码c++代码知识点图像翻转(Image Flip)图像翻转的本质像素映射,OpenCV支持三种图像翻转方式X轴翻转,flipcode = 0Y轴翻转, flipcode = 1XY轴翻转, flipcode = -1相关的API:flipsrc输入参数dst 翻转后图像flipcodepython代码import cv2 as cvi...原创 2019-09-08 14:41:19 · 222 阅读 · 0 评论 -
Opencv-视频文件的读写
视频文件的读写知识点python代码c++代码知识点视频读写VideoCapture 视频文件读取、摄像头读取、视频流读取VideoWriter 视频写出、文件保存CAP_PROP_FRAME_HEIGHTCAP_PROP_FRAME_WIDTHCAP_PROP_FRAME_COUNTCAP_PROP_FPS不支持音频编码与解码保存,不是一个音视频处理的库!主要是分析与解析视频...原创 2019-09-08 10:44:14 · 307 阅读 · 0 评论 -
Opencv-像素归一化
像素归一化知识点python代码c++代码知识点像素归一化OpenCV中提供了四种归一化的方法NORM_MINMAXNORM_INFNORM_L1NORM_L2最常用的就是NORM_MINMAX归一化方法。相关API函数:normalize(InputArray src, // 输入图像InputOutputArray dst, // 输出图像double al...原创 2019-09-08 09:48:07 · 836 阅读 · 0 评论 -
Opencv-图像像素值统计
图像像素值统计知识点python代码c++代码知识点像素值统计最小(min)最大(max)均值(mean)标准方差(standard deviation)API知识点最大最小值minMaxLoc计算均值与标准方差meanStdDevpython代码import cv2 as cvimport numpy as npsrc = cv.imread("C:/Users/...原创 2019-09-08 08:46:11 · 2922 阅读 · 0 评论 -
Opencv-色彩空间转换
图像色彩空间转换知识点python代码c++代码知识点色彩空间与色彩空间转换RGB色彩空间HSV色彩空间YUV色彩空间YCrCb色彩空间API知识点色彩空间转换cvtColor提取指定色彩范围区域inRangepython代码import cv2 as cvsrc = cv.imread("C:/Users/qqxd/Desktop/opencvcode/ima...原创 2019-09-07 11:21:17 · 443 阅读 · 0 评论 -
Opencv-通道分离与合并
通道分离与合并知识点python代码c++代码知识点通道分离与合并OpenCV中默认imread函数加载图像文件,加载进来的是三通道彩色图像,色彩空间是RGB色彩空间、通道顺序是BGR(蓝色、绿色、红色)、对于三通道的图像OpenCV中提供了两个API函数用以实现通道分离与合并。split // 通道分离merge // 通道合并扩展一下:在很多CNN的卷积神经网络中输入的图像一般...原创 2019-09-07 10:51:07 · 428 阅读 · 0 评论 -
Opencv-图像像素的逻辑操作
图像像素的逻辑操作知识点python代码c++代码知识点像素操作之逻辑操作bitwise_and:逻辑与bitwise_xor:逻辑异或bitwise_or:逻辑或上面三个类似,都是针对两张图像的位操作python代码import cv2 as cvimport numpy as np# create image onesrc1 = np.zeros(shape=[4...原创 2019-09-07 10:18:22 · 371 阅读 · 0 评论 -
Opencv-LUT的作用与用法
LUT的作用与用法知识点python代码c++代码知识点Look Up Table(LUT)查找表applyColorMap(src, dst, COLORMAP)src 表示输入图像dst表示输出图像匹配到的颜色LUT, OpenCV支持13种颜色风格的查找表映射python代码import cv2 as cvsrc = cv.imread("C:/Users/qqxd...原创 2019-09-07 09:56:53 · 1151 阅读 · 0 评论 -
Opencv-图像像素读写操作
知识点C++中的像素遍历与访问数组遍历指针方式遍历Python中的像素遍历与访问数组遍历python代码import cv2 as cvsrc = cv.imread("C:/Users/qqxd/Desktop/opencvcode/images/test1.png")cv.namedWindow("input", cv.WINDOW_AUTOSIZE)cv.imshow...原创 2019-09-06 14:37:42 · 250 阅读 · 0 评论 -
Opencv-像素算术操作
像素算术操作知识点python代码c++代码知识点像素算术操作加add、减subtract、乘multiply、除dividesaturate_cast<T>(value)注意点:图像的数据类型、通道数目、大小必须相同python代码import cv2 as cvimport numpy as npsrc1 = cv.imread("C:/Users/qqxd...原创 2019-09-06 15:12:13 · 127 阅读 · 0 评论 -
Opencv-图像色彩转换
图像色彩转换知识点python代码c++代码知识点色彩空间转换函数- cvtColorCOLOR_BGR2GRAY = 6 彩色到灰度COLOR_GRAY2BGR = 8 灰度到彩色COLOR_BGR2HSV = 40 BGR到HSVCOLOR_HSV2BGR = 54 HSV到 BGR图像保存 - imwrite第一个参数是图像保存路径第二个参数是图像内存对象python...原创 2019-09-06 14:18:53 · 1006 阅读 · 0 评论 -
Opencv-Sobel算子
图像梯度 – Sobel算子知识点python代码c++代码知识点图像梯度 – Sobel算子卷积的作用除了实现图像模糊或者去噪,还可以寻找一张图像上所有梯度信息,这些梯度信息是图像的最原始特征数据,进一步处理之后就可以生成一些比较高级的特征用来表示一张图像实现基于图像特征的匹配,图像分类等应用。Sobel算子是一种很经典的图像梯度提取算子,其本质是基于图像空间域卷积,背后的思想是图像一阶导...原创 2019-09-12 10:06:47 · 414 阅读 · 0 评论 -
Opencv-自定义梯度算子
图像梯度 – 更多梯度算子知识点python代码c++代码知识点图像梯度 – 更多梯度算子图像的一阶导数算子除了sobel算子之外,常见的还有robert算子与prewitt算子,它们也都是非常好的可以检测图像的梯度边缘信息。通过OpenCV中自定义滤波器,使用自定义创建的robert与prewitt算子就可以实现图像的rober与prewitt梯度边缘检测,OpenCV中的自定义算子滤...原创 2019-09-16 15:18:42 · 941 阅读 · 0 评论 -
Opencv-拉普拉斯算子
图像梯度 – 拉普拉斯算子知识点python代码c++代码知识点图像梯度 – 拉普拉斯算子图像的一阶导数算子可以得到图像梯度局部梯度相应值,二阶导数可以通过快速的图像像素值强度的变化来检测图像边缘,其检测图像边缘的原理跟图像的一阶导数有点类似,只是在二阶导数是求X、Y方向的二阶偏导数,对图像来说:X方向的二阶偏导数就是 dx = f(x+1, y) + f(x-1, y) – 2f(x, ...原创 2019-09-16 15:27:38 · 1960 阅读 · 0 评论 -
Opencv-图像锐化
图像锐化知识点python代码c++代码知识点图像锐化图像卷积的主要有三功能分别是图像的模糊/去噪、图像梯度/边缘发现、图像锐化/增强。图像锐化的本质是图像拉普拉斯滤波加原图权重像素叠加的输出。-1 -1 -1-1 C -1-1 -1 -1当C值大于8时候表示图像锐化、越接近8表示锐化效果越好当C值等于8时候图像的高通滤波当C值越大,图像锐化效果在减弱、中心像...原创 2019-09-16 15:41:01 · 5610 阅读 · 0 评论 -
Opencv-锐化增强算法(USM)
USM 锐化增强算法知识点python代码c++代码知识点USM 锐化增强算法图像卷积处理实现锐化有一种常用的算法叫做Unsharpen Mask方法,这种锐化的方法就是对原图像先做一个高斯模糊,然后用原来的图像减去一个系数乘以高斯模糊之后的图像,然后再把值Scale到0~255的RGB像素值范围之内。基于USM锐化的方法可以去除一些细小的干扰细节和噪声,比一般直接使用卷积锐化算子得到的图像...原创 2019-09-16 15:49:35 · 11398 阅读 · 1 评论 -
Opencv-Canny边缘检测器
Canny边缘检测器知识点python代码c++代码知识点Canny边缘检测器1986年,JOHN CANNY 提出一个很好的边缘检测算法,被称为Canny编边缘检测器。Canny边缘检测器是一种经典的图像边缘检测与提取算法,应用广泛,主要是因为Canny边缘检测具备以下特点:有效的噪声抑制更强的完整边缘提取能力Canny算法是如何做到精准的边缘提取的,主要是靠下面五个步骤高斯...原创 2019-09-16 16:04:24 · 293 阅读 · 0 评论 -
Opencv-图像金字塔
图像金字塔知识点python代码c++代码知识点图像金字塔图像金字塔概念图像金字塔是对一张输入图像先模糊再下采样为原来大小的1/4(宽高缩小一半)、不断重复模糊与下采样的过程就得到了不同分辨率的输出图像,叠加在一起就形成了图像金字塔、所以图像金字塔是图像的空间多分辨率存在形式。这里的模糊是指高斯模糊,所以这个方式生成的金字塔图像又称为高斯金字塔图像。高斯金字塔图像有两个基本操作reduc...原创 2019-09-17 09:03:25 · 235 阅读 · 0 评论 -
Opencv-拉普拉斯金字塔
拉普拉斯金字塔知识点python代码c++代码知识点拉普拉斯金字塔对输入图像实现金字塔的reduce操作就会生成不同分辨率的图像、对这些图像进行金字塔expand操作,然后使用reduce减去expand之后的结果就会得到图像拉普拉斯金字塔图像。举例如下:输入图像G(0)金字塔reduce操作生成 G(1), G(2), G(3)拉普拉斯金字塔:L0 = G(0)-expand(G...原创 2019-09-17 09:22:38 · 3081 阅读 · 1 评论 -
Opencv-图像模板匹配
图像模板匹配知识点python代码c++代码知识点图像模板匹配模板匹配被称为最简单的模式识别方法、同时也被很多人认为是最没有用的模式识别方法。这里里面有很大的误区,就是模板匹配是工作条件限制比较严格,只有满足理论设置的条件以后,模板匹配才会比较好的开始工作,而且它不是基于特征的匹配,所以有很多弊端,但是不妨碍它成为入门级别模式识别的方法,通过它可以学习到很多相关的原理性内容,为后续学习打下良...原创 2019-09-17 09:32:10 · 631 阅读 · 0 评论 -
Opencv-自定义滤波器
自定义滤波器知识点python代码c++代码知识点自定义滤波器图像卷积最主要功能有图像模糊、锐化、梯度边缘等,前面已经分享图像卷积模糊的相关知识点,OpenCV除了支持上述的卷积模糊(均值与边缘保留)还支持自定义卷积核,实现自定义的滤波操作。自定义卷积核常见的主要是均值、锐化、梯度等算子。下面的三个自定义卷积核分别可以实现卷积的均值模糊、锐化、梯度功能。1, 1, 1 0, -1...原创 2019-09-12 09:33:02 · 1797 阅读 · 0 评论 -
Opencv-快速的图像边缘滤波算法
快速的图像边缘滤波算法知识点python代码c++代码知识点快速的图像边缘滤波算法高斯双边模糊与mean shift均值模糊两种边缘保留滤波算法,都因为计算量比较大,无法实时实现图像边缘保留滤波,限制了它们的使用场景,OpenCV中还实现了一种快速的边缘保留滤波算法。高斯双边与mean shift均值在计算时候使用五维向量是其计算量大速度慢的根本原因,该算法通过等价变换到低纬维度空间,实现了...原创 2019-09-12 09:19:56 · 1311 阅读 · 0 评论 -
Opencv-图像积分图算法
图像积分图算法知识点py代码c++代码知识点图像积分图算法概述积分图像是Crow在1984年首次提出,是为了在多尺度透视投影中提高渲染速度,是一种快速计算图像区域和与平方和的算法。其核心思想是对每个图像建立自己的积分图查找表,在图像积分处理计算阶段根据预先建立的积分图查找表,直接查找从而实现对均值卷积线性时间计算,做到了卷积执行的时间与半径窗口大小的无关联。图像积分图在图像特征提取HAAR...原创 2019-09-11 10:33:01 · 360 阅读 · 0 评论 -
Opencv-图像直方图比较
图像直方图比较知识点python代码知识点图像直方图比较,就是计算两幅图像的直方图数据,比较两组数据的相似性,从而得到两幅图像之间的相似程度,直方图比较在早期的CBIR中是应用很常见的技术手段,通常会结合边缘处理、词袋等技术一起使用。OpenCV中直方图比较的API很简单compareHist(hist1, hist2, method)-常见比较方法有相关性卡方交叉巴氏pyth...原创 2019-09-10 09:04:10 · 309 阅读 · 0 评论 -
Opencv-图像直方图反向投影
图像直方图反向投影知识点python代码c++代码知识点图像直方图反向投影文字解释:图像直方图反向投影是通过构建指定模板图像的二维直方图空间与目标的二维直方图空间,进行直方图数据归一化之后, 进行比率操作,对所有得到非零数值,生成查找表对原图像进行像素映射之后,再进行图像模糊输出的结果。直方图反向投影流程:计算直方图计算比率RLUT查找表卷积模糊归一化输出相关APIc...原创 2019-09-10 09:25:47 · 224 阅读 · 0 评论 -
Opencv-图像卷积操作
图像卷积操作知识点python代码知识点图像卷积操作图像卷积可以看成是一个窗口区域在另外一个大的图像上移动,对每个窗口覆盖的区域都进行点乘得到的值作为中心像素点的输出值。窗口的移动是从左到右,从上到下。窗口可以理解成一个指定大小的二维矩阵,里面有预先指定的值。相关API(C++)blur(InputArray src, // 输入OutputArray dst, 输出Size...原创 2019-09-10 14:56:03 · 299 阅读 · 0 评论 -
Opencv-图像均值与高斯模糊
图像均值与高斯模糊知识点python代码c++代码知识点图像均值与高斯模糊均值模糊 是卷积核的系数完全一致,高斯模糊考虑了中心像素距离的影响,对距离中心像素使用高斯分布公式生成不同的权重系数给卷积核,然后用此卷积核完成图像卷积得到输出结果就是图像高斯模糊之后的输出。OpenCV高斯模糊 API函数void GaussianBlur(InputArray src,OutputArray...原创 2019-09-10 15:08:24 · 454 阅读 · 0 评论 -
Opencv-中值滤波
中值滤波知识点python代码c++代码知识点中值模糊中值滤波本质上是统计排序滤波器的一种,中值滤波对图像特定噪声类型(椒盐噪声)会取得比较好的去噪效果,也是常见的图像去噪声与增强的方法之一。中值滤波也是窗口在图像上移动,其覆盖的对应ROI区域下,所有像素值排序,取中值作为中心像素点的输出值。一般用于去除椒盐噪声。OpenCV中值滤波API函数如下:medianBlur ( Input...原创 2019-09-10 15:20:52 · 384 阅读 · 0 评论 -
Opencv-图像噪声
图像噪声知识点python代码c++代码知识点图像噪声图像噪声产生的原因很复杂,有的可能是数字信号在传输过程中发生了丢失或者受到干扰,有的是成像设备或者环境本身导致成像质量不稳定,反应到图像上就是图像的亮度与颜色呈现某种程度的不一致性。从噪声的类型上,常见的图像噪声可以分为如下几种:椒盐噪声,是一种随机在图像中出现的稀疏分布的黑白像素点, 对椒盐噪声一种有效的去噪手段就是图像中值滤波...原创 2019-09-10 15:36:21 · 645 阅读 · 0 评论 -
Opencv-图像去噪声
图像去噪声知识点python代码c++代码知识点图像去噪声在OCR、机器人视觉与机器视觉领域应用开发中是重要的图像预处理手段之一,对图像二值化与二值分析很有帮助,OpenCV中常见的图像去噪声的方法有均值去噪声高斯模糊去噪声非局部均值去噪声双边滤波去噪声形态学去噪声这里暂时先说上面的三个方法,后面我们会在分享完相关知识点之后再来说。python代码import cv2 a...原创 2019-09-10 15:53:23 · 2901 阅读 · 0 评论 -
Opencv-高斯双边模糊
边缘保留滤波算法 – 高斯双边模糊知识点python代码c++代码知识点边缘保留滤波算法 – 高斯双边模糊前面我们介绍的图像卷积处理无论是均值还是高斯都是属于模糊卷积,它们都有一个共同的特点就是模糊之后图像的边缘信息不复存在,受到了破坏。我们今天介绍的滤波方法有能力通过卷积处理实现图像模糊的同时对图像边缘不会造成破坏,滤波之后的输出完整的保存了图像整体边缘(轮廓)信息,我们称这类滤波算法为边...原创 2019-09-11 09:52:53 · 387 阅读 · 0 评论 -
Opencv-均值迁移模糊
边缘保留滤波算法 – 均值迁移模糊知识点python代码c++代码知识点边缘保留滤波算法 – 均值迁移模糊(mean-shift blur)均值迁移模糊是图像边缘保留滤波算法中一种,经常用来在对图像进行分水岭分割之前去噪声,可以大幅度提升分水岭分割的效果。均值迁移模糊的主要思想如下:就是在图像进行开窗的时候同样,考虑像素值空间范围分布,只有符合分布的像素点才参与计算,计算得到像素均值与空间...原创 2019-09-11 10:04:32 · 550 阅读 · 0 评论 -
Opencv-二值图像
二值图像知识点python代码c++代码知识点二值图像介绍二值图像就是只有黑白两种颜色表示的图像,其中0 – 表示黑色, 1 – 表示白色(255) 。二值图像处理与分析在机器视觉与机器人视觉中非常重要,涉及到非常多的图像处理相关的知识,常见的二值图像分析包括轮廓分析、对象测量、轮廓匹配与识别、形态学处理与分割、各种形状检测与拟合、投影与逻辑操作、轮廓特征提取与编码等。此外图像二值化的方法也...原创 2019-09-17 09:41:55 · 1873 阅读 · 2 评论