OpenCV
文章平均质量分 92
OpenCV开发记录
郑烯烃快去学习
今天不想跑 所以才去跑
展开
-
OpenCV入门(十)——图像分割技术
0x01 FloodFill分割FloodFill泛洪填充算法是在很多图形绘制软件中常用的填充算法,通常来说是自动选中与种子像素相关的区域,利用指定的颜色进行区域颜色替换,可用于标记或分离图形的某些部分。比如windows系统中的图像编辑软件中的油漆桶这一功能,或者是Photoshop的魔术棒选择工具,都是通过FloorFill泛洪填充来改进和延伸的。(一)原理从一个点开始遍历附近的像素点,填充成新的颜色,直到封闭区域内的所有像素点都被填充成新颜色为止。(二)常见方法4邻域像素填充法、8原创 2022-05-09 23:10:05 · 4460 阅读 · 0 评论 -
OpenCv入门(二)——仿射变换和透视变换
为什么要图像重映射?我们可以把每个像素的位置重新映射到新的位置,这可用来创建图像特效,或者修正因镜片等原因导致的图像扭曲。如何实现?使用OpenCv的remap函数,首先需要定义在重映射处理中使用的映射参数,然后把映射参数应用到输入图像。很明显,定义映射参数的方式将决定产生的效果。这里定义一个转换函数,在图像上创建波浪形效果:// 重映射图像,创建波浪形效果void wave(const cv::Mat &image, cv::Mat &result) { // 映射原创 2022-04-21 12:45:26 · 5231 阅读 · 1 评论 -
OpenCV入门(八)——形态学技术
目录0x01 腐蚀膨胀操作0x02 开闭运算操作0x03 形态学梯度0x04 形态学Top-Hat0x05 用在哪?角点提取、车牌提取数学形态学是基于集合论的图像处理方法,最早出现于生物学的形态与结构中,图像处理中的形态学操作用于图像预处理操作(去噪、形状简化)、图像增强(骨架提取、细化、凸包及物体标记)、物体背景分割及物体形态量化等场景中。数学形态学利用点集的性质、积分几何集及拓扑学理论对物体像素集进行变换。那么操作有如下: 腐蚀与膨胀操作 开闭运算操作及实原创 2022-05-05 22:25:42 · 2974 阅读 · 0 评论 -
OpenCv入门(三)——阈值化处理
在图像处理中,处理灰度图像的计算量要小于处理彩色图像,而二值化图像(只含灰度值0或1)的计算复杂度更优于以上两者,因此二值化操作在数字图像处理中有着不可或缺的实用价值。一幅图像包括目标、背景以及噪声,想要直接提取出目标物体,通常是采用灰度变换阈值化操作。图像的阈值化操作就是利用图像像素点分布的规律,设定阈值进行像素点分割,进而得到图像的二值化图像。图像阈值化操作: OTSU 固定阈值 自适应阈值 双阈值 半阈值化 0x01 OTSU算法步...原创 2022-04-23 16:08:37 · 3652 阅读 · 0 评论 -
OpenCv入门(六)——几何检测
0x01 了解霍夫变换霍夫变换是要从图像钟识别几何形状的基本图像处理方法之一。经典的霍夫变换用来检测图像中的直线,改进的霍夫变换扩展到识别任意形状的物体(椭圆、圆等等)。优势在于它不受图行旋转的影响,易于进行几何图行的快速变换。经典的霍夫变换用于检测图像中的直线,其原理是利用坐标空间变换将两个坐标进行相应的转换,或通过直线映射到另一坐标空间的点形成的峰值。从而把检测任意形状的问题转化为统计峰值的问题。基本原理如下:以直线检测为例,每个像素坐标点经过空间变换都编程对直线特质有贡献的统一度量。原创 2022-05-02 00:38:08 · 3890 阅读 · 0 评论 -
OpenCV入门(九)——图像分割技术之分水岭分割
图像分割是利用图像特征灰度、颜色、纹理和形状等将图像中特定的具有独特性质的区域进行划分,进而实现感兴趣的目标的提取。根据分割成因可以分为连续分割和非连续分割。连续分割是指将具有同一灰度级或相同特征的像素划分为不同区域,常见的分割方法有**区域生成、阈值分割及聚类分割**等。非连续分割是利用像素值突变特性来呈现不同边界区域以实现图像分割,常见的分割方法有**点线检测、边缘及能量**等。## 0x01 分水岭分割(一)分水岭分割分水岭分割是基于自然的启发算法来模拟水流通过地形起伏的现象从而研究总结出原创 2022-05-07 22:31:34 · 6782 阅读 · 1 评论 -
OpenCv入门(五)——改进边缘算法Canny
原理:通过图像信号函数的极大值来判定图像的边缘像素点。最优边缘检测主要以下面三个参数为评判标准:低错误率:标识出尽可能多的实际边缘以及减少噪声产生。高定位性:表示出边缘要与图像中的实际边缘尽可能接近。最小响应:图像的边缘标记具有唯一性,虚假响应边缘应该得到最大抑制。(一)Canny的原理检测步骤: 消除噪声 边缘检测的算法主要是基于图像强度的一阶和二阶微分操作,但导数通常对噪声很敏感,边缘检测算法常常需要根据图像源的数据进行预处理操作,因此必须采用滤波器来改善与噪声.原创 2022-04-29 20:21:59 · 5199 阅读 · 0 评论 -
OpenCV入门(七)——车牌区域检测
对于一幅RGB图像,我们先将其转为HSI颜色空间,HSI分别是什么: H:Hue 色调(描述纯色的属性) S:Saturation 饱和度(指纯色被白色稀释的程度的度量,其值越大,色彩纯度越高) I:Illumination 亮度(描述光照的强度) 那么对于一幅RGB的图像,RGB到底要怎么转换为HSI:关于HSI分离:cv::Mat srcImage = cv::imread("./image/cheche.jpg");// 转换成hsv cv::..原创 2022-05-04 16:49:40 · 3201 阅读 · 0 评论 -
OpenCV入门(十一)——图像平滑技术
关于图像采样数字图像的获取途径有很多方式,通常可利用图像采样在连续图像上进行数字化。采样点之间形成的集合关系就是栅格,栅格间无限小的采样点对应于图像中的像素点。图像变换上的采样就是将图像分辨率改变的过程,采样分为上采样和下采样。上采样为:指将图分辨率扩大。下采样为:图像的分辨率缩小。OPenCV常见的图像缩放有两种方式: 几何变换中提供的resize函数。 基于分辨率理论的图像金字塔pyrDown与pyrUp。 0x01 最近邻插值最近邻插值是最简单的图像处理的方.原创 2022-05-12 23:40:52 · 2528 阅读 · 0 评论 -
OpenCV(十二)——与时间无关的故事之离散傅里叶(DFT)
目录(一)什么是频域(二)傅里叶级数(Flourier Serie)的频谱(三)傅里叶级数(Fourier Series)的相位谱(四)傅里叶变换(Fourier Transformation)(五)欧拉公式(六)指数形式的傅里叶变换(六)傅里叶在图像处理中做什么(七)实现代码傅里叶变换是将时域信号分解为不同频率的正弦信号或余弦信号叠加之和,时域分析只能反映信号的幅值随时间变换的情况,除单频率分量的简谐波外,很难对信息频率的组成及各频率分量的大小进行详细分析,而信号频原创 2022-05-14 10:26:18 · 1534 阅读 · 1 评论 -
OpenCV入门(一)
关于如何安装opencv,如何配置环境,这些网上有太多关于这方面的资料了,在这只是我的一些入门笔记: 编译环境:Visual Studio 2019 编程语言:Cpp 0x01 OpenCv的基础知识(一)OpenCv库分为多个模块: opencv_core模块包含库的核心功能 opencv_imgproc模块包含主要的图像处理函数 opencv_highgui模块提供了读写图像和视频的函数以及一些用户交互函数 在网上下下来的opencv,安装后所生成的原创 2022-04-19 19:33:35 · 2618 阅读 · 0 评论 -
OpenCV入门(四)——边缘检测
边缘检测的概念:检测识别出图像图像中亮度变化剧烈的像素点构成的集合。目标物体形成边缘存在以下几种情形: 目标物呈现在图像上的不同物体平面上,深度不连续。 目标物本身平面不同,表面方向不连续。 目标物材料不均匀,表面反射光不同。 目标物受外部场景光影响不一。 根据边缘形成的原理,对图像的各像素点进行求微分或二阶微分可以检测出灰度变化明显的点。通常情况下边缘检测分为以下三个类型: 一阶微分为基础的边缘检测:通过计算图像的梯度值来检测图像边缘。 Sobel算子原创 2022-04-28 00:55:48 · 7244 阅读 · 1 评论