【OpenCV】计算机视觉
文章平均质量分 90
【OpenCV • c++】计算机视觉。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了丰富的图像处理和计算机视觉算法。
锡兰_CC
旧人不知我近况,新人不知我过往。近况不该旧人知,过往不与新人讲。
展开
-
【OpenCV】 基础入门(二)图像基础概念 | 图像灰度化处理 | 图像二值化处理
其中,参数表示 src 输入图像,参数 dst 表示输出图像,参数 code 表示颜色空间转换的标识符,参数 dstCn 表示目标图像的通道数,若该参数值为 0,表示目标图像取源图像的通道数。其中,参数表示 src 输入图像,参数 dst 表示输出图像,参数 thresh表示阈值,参数 maxval像素最大值,参数 type 表示阈值处理的方式。图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由 R、G、B 三个分量来表示,M、N 分别表示图像的行列数,三个。原创 2024-04-07 15:21:42 · 1683 阅读 · 40 评论 -
【OpenCV】 基础入门(一)初识 Mat 类 | 通过 Mat 类显示图像
在计算器内存中,数字图像是以矩阵的形式保存的,矩阵信息中包含了所有像素点的强度值,如何获取并储存这些像素值可根据实际场景应用来确定。在计算机处理中所有图像信息都将转化为数值信息矩阵。OpenCV作为计算机视觉处理库,其主要目的就是通过处理和操作这些矩阵信息来获得更加高级的信息。在处理图像中,我们通常使用OpenCV中最基础的库类Mat类来对图像进行操作。Mat类由矩阵头和指向存储所有像素值的矩阵的指针构成。Mat类表示一个n。原创 2024-04-03 11:23:15 · 1778 阅读 · 37 评论 -
OpenCV4 工业缺陷检测的六种方法
当前工业缺陷检测算法目前主要分为两个方向,基于传统视觉的算法和基于深度学习的算法,前者主要依靠对检测目标的特征进行量化,比如颜色,形状,长宽,角度,面积等,好处是可解释性强、对样本数量没有要求、运行速度快,缺点是依赖于固定的光照成像,稍有改动就要改写程序重新部署,而且检测规则和算法跟开发者经验其主导作用。其中工业品的缺陷检测极大的依赖人工完成,特别是传统的3C制造环节,产品缺陷检测依赖于人眼睛来发现与检测,不仅费时费力还面临人员成本与工作时间等因素的制约。OpenCV4应用开发:入门、进阶与工程化实践。原创 2023-12-22 10:32:37 · 4662 阅读 · 77 评论 -
【OpenCV • c++】图像平滑处理(1) —— 线性滤波
其中,第一个参数表示输入的原图像,第二个参数表示目标图像,需要和原图像一样尺寸和类型,第三个参数表示输出图像的深度,-1代表使用原深度,即src.depth(),第四个参数表示 Size 类型的 ksize ,内核的大小。图像滤波指的是在尽量保留图像细节特征的条件下对图像的噪音进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将会直接影响到后续图像处理和分析的有效性和可靠性。平滑处理也称为模糊处理,是一种简单且使用频率很高的图像处理方法,平滑处理的用途有很多,最常见的是用来减少图像上的噪点或者失真。原创 2024-03-18 19:28:28 · 2365 阅读 · 33 评论 -
【OpenCV • c++】自定义直方图 | 灰度直方图均衡 | 彩色直方图均衡
直方图广泛应用于很多计算机视觉处理当中。通过标记帧与帧之间显著的边缘和颜色的变化,可以检测视频中的场景变化。在每个兴趣点设置一个有相似特征的直方图所构成的“标签”,可以用来标记各种不同的事情,比如图像的色彩分布,物体边缘梯度模板等等。是计算机视觉中最经典的工具之一。简单来说直方图就是对数据进行统计的一种方法,它将统计值组织到一系列事先定义好的bin中。bin中的数值是从数据中计算出的特征的统计量,这些数据可以是梯度、方向、色彩以及其他任何特征。原创 2023-09-22 07:00:00 · 2811 阅读 · 56 评论 -
【OpenCV • c++】图像噪音 | 椒盐噪音 | 高斯噪音
图像噪声是图像在获取或是传输过程中受到随机信号干扰,妨碍人们对图像理解及分析处理的信号。很多时候将图像噪声看做多维随机过程,因而描述噪声的方法完全可以借用随机过程的描述, 也就是用它的概率分布函数和概率密度分布函数。图像噪声的产生来自图像获取中的环境条件和传感元器件自身的质量,图像在传输过程中产生图像噪声的主要因素是所用的传输信道受到了噪声的污染。原创 2023-09-13 08:38:28 · 4119 阅读 · 84 评论 -
【OpenCV • c++】直方图计算 | 绘制 H-S 直方图 | 绘制一维直方图 | 绘制 RGB 三色直方图
直方图广泛应用于很多计算机视觉处理当中。通过标记帧与帧之间显著的边缘和颜色的变化,可以检测视频中的场景变化。在每个兴趣点设置一个有相似特征的直方图所构成的“标签”,可以用来标记各种不同的事情,比如图像的色彩分布,物体边缘梯度模板等等。是计算机视觉中最经典的工具之一。简单来说直方图就是对数据进行统计的一种方法,它将统计值组织到一系列事先定义好的bin中。bin中的数值是从数据中计算出的特征的统计量,这些数据可以是梯度、方向、色彩以及其他任何特征。原创 2023-09-10 14:38:46 · 2815 阅读 · 79 评论 -
【OpenCV • c++】图像对比度调整 | 图像亮度调整
图像亮度和对比度的调整操作,其实属于图像处理变换中比较简单的一种 —— 点操作。点操作有一个特点:仅仅根据输入像素值(有时可以加上某些全局信息或参数),来计算相应的输出像素值。点操作包括亮度调整和对比度调整、颜色校正和变换。两种最常用的点操作是乘上一个常数(对应对比度的调节)以及加上一个常数(对应亮度值的调节)。原创 2023-08-28 10:05:31 · 3836 阅读 · 71 评论 -
【OpenCV • c++】图像几何变换 | 图像仿射变换
图像的几何变换是指在不改变图像像素值的前提下对图像像素进行空间几何变换,常见的几何变换有距离变换、坐标映射、平移、镜像、旋转、缩放、仿射交换等等。图像的几何变换是图像处理和分析的基础,应用广泛。原创 2023-07-23 21:40:22 · 2732 阅读 · 54 评论 -
【OpenCV • c++】图像几何变换 | 图像缩放
图像的几何变换是指在不改变图像像素值的前提下对图像像素进行空间几何变换,常见的几何变换有距离变换、坐标映射、平移、镜像、旋转、缩放、仿射交换等等。图像的几何变换是图像处理和分析的基础,应用广泛。原创 2023-07-22 10:49:27 · 2408 阅读 · 68 评论 -
【OpenCV • c++】图像几何变换 | 图像旋转
图像的几何变换是指在不改变图像像素值的前提下对图像像素进行空间几何变换,常见的几何变换有距离变换、坐标映射、平移、镜像、旋转、缩放、仿射交换等等。图像的几何变换是图像处理和分析的基础,应用广泛。原创 2023-07-16 22:15:53 · 1939 阅读 · 50 评论 -
【OpenCV • c++】图像几何变换 | 图像平移
图像的几何变换是指在不改变图像像素值的前提下对图像像素进行空间几何变换,常见的几何变换有距离变换、坐标映射、平移、镜像、旋转、缩放、仿射交换等等。图像的几何变换是图像处理和分析的基础,应用广泛。原创 2023-07-15 07:19:33 · 2545 阅读 · 56 评论 -
【OpenCV】 基础入门(五)图像几何变换 | 图像坐标映射
图像的坐标映射是通过与目标图像之间建立一种映射关系,这种映射关系一般有两种,第一种是计算原图像任意像素在映射后图像的坐标位置,第二种是计算变换后图像任意像素反映射在原图像的坐标位置。由于正映射,由原图像映射到目标图像称为正映射,相反地,由目标图像通过映射关系得到原图像称为反映射。由于正映射常常会映射不完全以及出现映射重复现象,一般在图像处理的过程中采取反映射的方式来保证输出目标图像的每个像素都可以通过映射关系在源图像中找到唯一的对应像素。表示(x,y)点的坐标或者 x 的坐标,第四个参数。原创 2023-07-06 12:51:04 · 1901 阅读 · 51 评论 -
【OpenCV】 基础入门(四)基础图像的绘制
其中第一个参数表示目标图片,第二个参数表示椭圆的中心,第三个参数表示椭圆主轴大小的一半,第四个参数表示以度为单位的椭圆旋转角度,第五个参数表示椭圆弧的起始角度,以度为单位,第六个参数表示椭圆弧的结束角度,以度为单位,第七个参数表示椭圆颜色,第八个参数表示椭圆弧轮廓的厚度,第九个参数表示椭圆边界的类型,第十个参数表示中心坐标和轴值中的小数位数。第一个参数表示目标图片,第二个参数表示圆的中心,第三个参数表示圆的半径,第四个参数表示圆的颜色,第五个参数表示圆形轮廓的粗细(如果为正)。轴坐标为 8 的二维点。原创 2023-06-29 07:04:49 · 2062 阅读 · 90 评论 -
【OpenCV】 基础入门(三)颜色数据结构 | 颜色空间转换
cvtColor()是OpenCV中颜色空间转换函数,可以实现RGB颜色向HSV,HSI等颜色空间的转换,也可以转换为灰度图像。原创 2023-06-27 06:46:12 · 2310 阅读 · 79 评论 -
【OpenCV • c++】滑动条的创建和使用
滑动条是 OpenCV 动态调节参数特别好用的工具,它依附于窗口而存在。原创 2023-06-04 20:33:39 · 3300 阅读 · 95 评论 -
【OpenCV • c++】几何检测 —— 霍夫变换 | 霍夫直线检测 | 霍夫线变化
霍夫变化是从图像中识别几何形状的基本图像处理方法之一,应用广泛。霍夫变换用来检测图像中的直线,其原理是利用坐标空间变换将两个坐标进行相应的转换,或通过直线映射到另一坐标空间的点形成的峰值。从而把检测任意形状的问题转化为统计峰值的问题。它的优点在于分割结果的鲁棒性,它的缺点是要求知道物体边界线的解析方程。原创 2023-05-24 17:10:08 · 2928 阅读 · 66 评论 -
【OpenCv • c++】形态学技术操作 —— 顶帽操作与黑帽操作
在上一篇文章中,我们了解了开运算与闭运算,今天我们继续学习形态学技术操作里面的顶帽操作与黑帽操作。原创 2023-05-21 09:00:00 · 2662 阅读 · 87 评论 -
【OpenCv • c++】基础边缘检测算子 —— Laplace
边缘检测是图像处理与计算机视觉中最重要的技术之一,其目的是检测识别出图像中亮度变化剧烈的像素点构成的集合。图像边缘的正确检测对于分析图像中的内容、实现图像中物体的分割、定位等具有重要的作用。边缘检测大大减少了源图像的数据量,剔除了与目标不相干的信息,保留了图像重要的结构属性。边缘检测算子是利用图像边缘的突变性质来检测边缘的,通常情况下边缘检测有以下三种类型。一阶微分:以一阶微分为基础的边缘检测,通过计算图像的梯度值来检测图像边缘,如Sobel算子,Prewitt算子,Roberts算子及差分边缘检测。原创 2023-05-17 07:45:00 · 1415 阅读 · 49 评论 -
【OpenCv • c++】形态学技术操作 —— 开运算与闭运算
在上一篇文章中,我们了解了腐蚀与膨胀的原理与实现,今天我们继续学习形态学技术操作里面的开运算与闭运算。原创 2023-05-14 13:45:57 · 2296 阅读 · 82 评论 -
【OpenCv • c++】形态学技术操作 —— 腐蚀与膨胀
形态学腐蚀膨胀操作是形态学的基本操作,常用于图形处理方面,实现了对目标像素点进行拓展的目的。从数学角度来讲,腐蚀膨胀操作就是将图像或者图像的一部分(称之为核A)与核(称之为核B)进行卷积。原创 2023-05-10 07:56:21 · 3189 阅读 · 84 评论 -
【OpenCv • c++】基础边缘检测算子 —— Sobel
边缘检测是图像处理与计算机视觉中最重要的技术之一,其目的是检测识别出图像中亮度变化剧烈的像素点构成的集合。图像边缘的正确检测对于分析图像中的内容、实现图像中物体的分割、定位等具有重要的作用。边缘检测大大减少了源图像的数据量,剔除了与目标不相干的信息,保留了图像重要的结构属性。边缘检测算子是利用图像边缘的突变性质来检测边缘的,通常情况下边缘检测有以下三种类型。一阶微分:以一阶微分为基础的边缘检测,通过计算图像的梯度值来检测图像边缘,如Sobel算子,Prewitt算子,Roberts算子及差分边缘检测。原创 2023-05-06 14:37:40 · 1674 阅读 · 48 评论 -
【OpenCv • c++】图像识别边缘检测 图像差分运算
边缘检测是图像处理与计算机视觉中最重要的技术之一,其目的是检测识别出图像中亮度变化剧烈的像素点构成的集合。图像边缘的正确检测对于分析图像中的内容、实现图像中物体的分割、定位等具有重要的作用。边缘检测大大减少了源图像的数据量,剔除了与目标不相干的信息,保留了图像重要的结构属性。边缘检测算子是利用图像边缘的突变性质来检测边缘的,通常情况下边缘检测有以下三种类型。一阶微分:以一阶微分为基础的边缘检测,通过计算图像的梯度值来检测图像边缘,如Sobel算子,Prewitt算子,Roberts算子及差分边缘检测。原创 2023-05-03 15:09:55 · 2132 阅读 · 67 评论 -
【OpenCv • c++】 大津法(OTSU)阈值处理
在图像处理中,对于同样的操作,处理灰度图像的计算量要远远小于处理彩色图像,而二值图像(只含灰度值0或1)的计算量比前两者更小。因此,二值化操作在图像处理中有着很大的作用。二值化图像的实现方法有很多。用的最多的方法是利用图像像素点分布规律,设置阈值进行像素点分割,从而得到二值化图像。原创 2023-03-16 20:00:56 · 2134 阅读 · 38 评论 -
【OpenCv】c++ 图像初级操作 | 图像灰度化
彩色图像在计算机中一般存储方式为 3 通道图像。图像的每一个像素都是由三个数字组成的向量量化的,最常见的是由 R,G ,B 三个分量来量化的。``RGB``模型的这三个元素的数值分别代表了三种基色,红、绿、蓝的亮度。我们可以通过``split``函数来分离这三个通道。原创 2023-03-10 07:00:00 · 1813 阅读 · 20 评论 -
【OpenCV】c++ 入门认识 Mat 类,单通道 Mat 的基本操作
在计算器内存中,数字图像是以矩阵的形式保存的,矩阵信息中包含了所有像素点的强度值,如何获取并储存这些像素值可根据实际场景应用来确定。在计算机处理中所有图像信息都将转化为数值信息矩阵。OpenCV作为计算机视觉处理库,其主要目的就是通过处理和操作这些矩阵信息来获得更加高级的信息。在处理图像前,我们需要先了解一下OpenCV中最基础的库类Mat以及其相关操作。原创 2023-02-27 14:41:07 · 4191 阅读 · 28 评论