
opencv
文章平均质量分 92
暴风雨中的白杨
好好工作,不要摸鱼!
展开
-
使用积分图的自适应二值化算法
使用积分图的自适应二值化算法原创 2023-10-08 23:08:44 · 445 阅读 · 0 评论 -
opencv 图像金字塔(python)
图像金字塔是由一幅图像的多个不同分辨率的子图所构成的图像集合该组图像是由单个图像通过不断地降采样所产生的,最小的图像可能仅仅有一个像素点。图像金字塔是一系列以金字塔形状排列的、自底向上分辨率逐渐降低的图像集合。通常情况下,图像金字塔的底部是待处理的高分辨率图像(原始图像),而顶部则为其低分辨率的近似图像。向金字塔的顶部移动时,图像的尺寸和分辨率都不断地降低。通常情况下,每向上移动一级,图像的宽和高都降低为原来的二分之一。图像金字塔是同一图像不同分辨率的子图集合,是通过对原图像不断地向下采样而产生的,即由高分原创 2022-06-09 19:39:03 · 1650 阅读 · 0 评论 -
opencv 绘图及交互(python)
Opencv提供了方便的绘图功能,使用其中的绘图函数可以绘制直线、矩形、圆、椭圆等多种几何图形,还能在图像中的指定位置添加文字说明。OpenCV提供了鼠标事件,使用户可以通过鼠标与图像交互。鼠标事件能够识别常用的鼠标操作,例如:针对不同按键的单击、双击,鼠标的滑动、拖曳等。OpenCV还提供了滚动条用于实现交互功能。用户可以拖动滚动条在某一个范围内设置特定的值,并将该值应用于后续的图像处理中。而且,如果设置为二值形式,滚动条还可以作为开关选择器使用。OpenCV提供了绘制直线的函数cv2.line()、绘制原创 2022-06-08 00:00:09 · 1721 阅读 · 1 评论 -
opencv 傅里叶变换(python)
图像处理一般分为空间域处理和频率域处理。空间域处理是直接对图像内的像素进行处理。空间域处理主要划分为灰度变换和空间滤波两种形式。频率域处理是先将图像变换到频率域,然后在频率域对图像进行处理,最后再通过反变换将图像从频率域变换到空间域。时间差,在傅里叶变换里就是相位。相位表述的是与时间差相关的信息。在图像处理过程中,傅里叶变换就是将图像分解为正弦分量和余弦分量两部分,即将图像从空间域转换到频域。数字图像经过傅里叶变换后,得到的频域值是复数。因此,显示傅里叶变换的结果需要使用实数图像(real image)加虚原创 2022-06-04 16:02:52 · 12953 阅读 · 9 评论 -
opencv 图像梯度(python)
图像梯度图像梯度Sobel理论基础计算水平方向偏导数的近似值计算垂直方向偏导数的近似值Sobel算子及函数使用注意点:参数ddepth方向计算x方向和y方向的边缘叠加Scharr算子及函数使用Sobel算子和Scharr算子的比较Laplacian算子及函数使用算子总结图像梯度图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。图像梯度计算需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近原创 2022-05-27 11:49:23 · 3627 阅读 · 0 评论 -
opencv Canny边缘检测(python)
Canny边缘检测Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法。OpenCV提供了函数cv2.Canny()实现Canny边缘检测。Canny边缘检测基础Canny边缘检测分为如下几个步骤:去噪。噪声会影响边缘检测的准确性,因此首先要将噪声过滤掉。计算梯度的幅度与方向非极大值抑制,即适当地让边缘“变瘦”确定边缘。使用双阈值算法确定最终的边缘信息高斯滤波去除图像噪声图像边缘非常容易受到噪声的干扰,因此为了避免检测到错误的边缘信息,通常需要对图像进行滤波以去除噪声。滤波的原创 2022-05-24 11:14:44 · 3654 阅读 · 0 评论 -
opencv 直方图处理(python)
直方图处理直方图处理直方图的含义绘制直方图使用Numpy绘制直方图使用OpenCV绘制直方图使用掩模绘制直方图直方图均衡化直方图均衡化原理直方图均衡化处理pyplot 模块介绍subplot 函数imshow函数直方图处理直方图从图像内部灰度级的角度对图像进行表述从直方图的角度对图像进行处理,可以达到增强图像显示效果的目的。直方图的含义直方图是图像内灰度值的统计特性与图像灰度值之间的函数,直方图统计图像内各个灰度级出现的次数。从直方图的图形上观察,横坐标是图像中各像素点的灰度级,纵坐标是具有该灰原创 2022-05-16 11:26:39 · 1729 阅读 · 0 评论 -
opencv 视频处理(python)
视频处理视频处理VideoCapture类类函数介绍捕获摄像头视频播放视频文件VideoWriter类类函数介绍保存视频视频操作基础视频处理视频是由一系列图像构成的,这一系列图像被称为帧,帧是以固定的时间间隔从视频中获取的。获取(播放)帧的速度称为帧速率,其单位通常使用“帧/秒”表示,代表在1秒内所出现的帧数,对应的英文是FPS(Frames Per Second)。如果从视频中提取出独立的帧,就可以使用图像处理的方法对其进行处理,达到处理视频的目的。OpenCV提供了cv2.VideoCaptu原创 2022-05-11 20:13:34 · 15668 阅读 · 0 评论 -
opencv 形态学操作(python)
形态学操作形态学操作腐蚀膨胀通用形态学函数开运算闭运算形态学梯度运算礼帽运算黑帽运算核函数形态学操作形态学,即数学形态学(Mathematical Morphology),是图像处理过程中一个非常重要的研究方向。形态学主要从图像内提取分量信息,该分量信息通常对于表达和描绘图像的形状具有重要意义,通常是图像理解时所使用的最本质的形状特征。形态学操作主要包含:腐蚀、膨胀、开运算、闭运算、形态学梯度(Morphological Gradient)运算、顶帽运算(礼帽运算)、黑帽运算等操作。腐蚀操作和膨胀原创 2022-05-06 19:17:00 · 4249 阅读 · 2 评论 -
opencv 图像平滑处理(python)
图像平滑处理图像平滑处理均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积图像平滑处理在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这一过程称为对图像的平滑处理,所得的图像称为平滑图像。图像平滑处理会对图像中与周围像素点的像素值差异较大的像素点进行处理,将其值调整为周围像素点像素值的近似值。图像平滑处理的基本原理是,将噪声所在像素点的像素值处理为其周围临近像素点的值的近似值。取近似值的方式很多均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积(自定义滤波)图像平滑处理对应的是英原创 2022-05-01 05:58:29 · 3435 阅读 · 0 评论 -
opencv 阈值处理(python)
阈值处理阈值处理threshold函数二值化阈值处理(cv2.THRESH_BINARY)反二值化阈值处理(cv2.THRESH_BINARY_INV)截断阈值化处理(cv2.THRESH_TRUNC)超阈值零处理(cv2.THRESH_TOZERO_INV)低阈值零处理(cv2.THRESH_TOZERO)自适应阈值处理Otsu处理阈值处理剔除图像内像素值高于一定值或者低于一定值的像素点。cv2.threshold()和函数cv2.adaptiveThreshold(),用于实现阈值处理。thre原创 2022-04-22 15:35:22 · 4732 阅读 · 2 评论 -
opencv 图像分割与提取(python)
图像分割与提取图像分割与提取用分水岭算法实现图像分割与提取算法原理相关函数介绍分水岭算法图像分割实例交互式前景提取图像分割与提取图像中将前景对象作为目标图像分割或者提取出来。对背景本身并无兴趣分水岭算法及GrabCut算法对图像进行分割及提取。用分水岭算法实现图像分割与提取分水岭算法将图像形象地比喻为地理学上的地形表面,实现图像分割,该算法非常有效。算法原理任何一幅灰度图像,都可以被看作是地理学上的地形表面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷。左图是原始图像,右原创 2022-04-20 09:51:48 · 11186 阅读 · 0 评论 -
opencv K近邻(python)
K近邻K近邻理论基础计算归一化距离计算手写数字识别手写数字识别的原理1. 特征值提取2. 数字识别3. 自定义函数手写数字识别K近邻模块的基本使用使用OpenCV自带的K近邻模块K近邻手写数字识别K近邻把经验提供给算法,它能够根据经验数据产生模型。在面对新的情况时,模型会为我们提供判断(预测)结果。反映对象(事件)在某个方面的表现或者性质的事项,被称为属性或特征具体的值,如反映身高的“188 cm”,就是特征值或属性值。这组数据的集合称为数据集,其中每个数据称为一个样本。从数据中学得模型的过原创 2022-04-19 17:36:46 · 754 阅读 · 0 评论 -
OTSU(大津算法)
OTSU(大津算法)确定图像二值化分割阈值不受图像亮度和对比度的影响用于图像分割过程中,自动计算出一个最佳全局阈值的算法通过最大类间平方差的方法来区分图像前景及背景缺点对图像噪声敏感只能针对单一目标分割当目标和背景大小比例悬殊、类间方差函数可能呈现双峰或者多峰,效果不好类间平方差OTSU算法的核心是类间平方差类间平方差:将图像的阈值划分为两个区域寻找这两个区域阈值间的最大方差类间方差公式假设存在一个阈值TH将整幅图(灰度值为0~255)分为了两个部分:第一部分原创 2022-04-18 11:29:24 · 3502 阅读 · 0 评论 -
图片拼接 --全景图合成
图片拼接 --全景图合成开发环境python3opencv-contrib-python—3.4.2.16opencv-python—3.4.2.16PyQt5 — 5.15.6基本思路SIFT特征提取FLANN 特征匹配单应性矩阵仿射变换图片融合最大内接矩形裁剪GUI界面显示代码程序完整工程:https://gitee.com/wangchaosun/image_merge图片融合merge_pic.pyimport numpy as npimport cv2原创 2022-04-16 02:31:51 · 1376 阅读 · 7 评论 -
opencv K均值聚类(python)
K均值聚类K均值聚类K均值聚类的基本步骤K均值聚类模块简单例子K均值聚类预测的是一个离散值时,做的工作就是“分类”。预测的是一个连续值时,做的工作就是“回归”。机器学习模型还可以将训练集中的数据划分为若干个组,每个组被称为一个“簇(cluster)”。这种学习方式被称为“聚类(clusting)”,它的重要特点是在学习过程中不需要用标签对训练样本进行标注。也就是说,学习过程能够根据现有训练集自动完成分类(聚类)。根据训练数据是否有标签,可以将学习划分为监督学习和无监督学习。K近邻、原创 2022-03-15 22:50:51 · 7243 阅读 · 1 评论 -
opencv支持向量机(python)
支持向量机支持向量机理论基础SVM使用介绍例子介绍支持向量机支持向量机(Support Vector Machine, SVM)是一种二分类模型,目标是寻找一个标准(称为超平面)对样本数据进行分割,分割的原则是确保分类最优化(类别之间的间隔最大)。当数据集较小时,使用支持向量机进行分类非常有效。支持向量机是最好的现成分类器之一,“现成”是指分类器不加修改即可直接使用。在对原始数据分类的过程中,可能无法使用线性方法实现分割。支持向量机在分类时,把无法线性分割的数据映射到高维空间,然后在高维空间找到分原创 2022-03-08 16:41:33 · 5302 阅读 · 0 评论 -
opencv几何变换(python)
几何变换几何变换缩放翻转仿射平移旋转更复杂的仿射变换透视重映射复制绕x轴翻转绕y轴翻转绕x轴、y轴翻转x轴、y轴互换图像缩放几何变换几何变换是指将一幅图像映射到另外一幅图像内的操作。缩放使用函数cv2.resize()实现对图像的缩放dst = cv2.resize( src, dsize[, fx[, fy[, interpolation]]] )dst代表输出的目标图像,该图像的类型与src相同,其大小为dsize(当该值非零时),或者可以通过src.size()、fx、fy计算得到。原创 2022-02-23 22:20:02 · 3861 阅读 · 0 评论 -
opencv色彩空间类型转换(python)
opencv 色彩空间类型转换原创 2022-02-08 02:14:33 · 6418 阅读 · 1 评论 -
opencv图像运算(python)
python-opencv图像运算: 加、减、掩码、图像加密、数字水印原创 2022-01-30 08:16:08 · 5311 阅读 · 0 评论 -
opencv图像处理基础(python)
图像处理基础图像处理基础numpy 访问图像item()和itemset()感兴趣区域通道操作通道拆分通道合并获取图像属性例子图像处理基础numpy 访问图像Numpy.array库是Python处理图像的基础。在OpenCV中,通道的顺序是B→G→R在OpenCV中,最小的数据类型是无符号的8位数可以使用image[0,0]访问图像image第0行第0列位置上的像素点先行后列: img[行,列]使用Numpy库中的函数zeros()可以生成一个元素值都是0的数组,并可以直接使用数组的索引对原创 2022-01-20 15:55:12 · 3557 阅读 · 0 评论 -
opencv入门(python)
opencv入门opencv入门安装基本使用读取图像显示图像保存图像OpenCV贡献库例子opencv入门安装在https://pypi.org/project/opencv-python/上面下载最新的基于Python的OpenCV库完成下载后,在Anaconda Prompt内使用pip install完整路径文件名完成安装。pip install D:\anaconda\Lib\opencv_python-3.4.3.18-cp37-cp37m-win_amd64.whl基本使用读取图原创 2022-01-17 17:20:46 · 2324 阅读 · 0 评论