
图像处理
文章平均质量分 91
AI小任
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python----计算机视觉处理(Opencv:道路检测完整版:透视变换,提取车道线,车道线拟合,车道线显示,)
在道路检测的完整流程中,首先通过**透视变换**将驾驶视角的图像转换为俯视图,以便更清晰地分析车道线。接着,通过**提取车道线**的方法,包括梯度和颜色提取,准确识别图像中的车道线。随后,应用**车道线拟合**技术,对提取的车道线进行曲线拟合,以形成更精确的车道模型。最后,通过**车道线显示**将拟合结果叠加到原始图像上,实现可视化,便于后续的自动驾驶系统进行决策与控制。原创 2025-04-07 09:00:50 · 2669 阅读 · 5 评论 -
Python----计算机视觉处理(Opencv:道路检测之车道线显示)
首先进行了透视变换,将原始图像中的车道线部分提取出来,并经过透视变换得到变换后的车道线图像。然后,对提取出的车道线进行绘制,并通过逆透视变换将车道线映射回原始图像中。最后,通过图像融合的方式将原始图像和变换后的结果进行叠加显示。原创 2025-04-04 11:15:03 · 1444 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:道路检测之车道线拟合)
实现了车道线检测的基本流程:首先读取一幅道路图像,并通过计算每列像素的总和来确定左右车道线的初始位置。接着,使用滑动窗口技术在图像中查找车道线像素,并通过有效像素的数量动态调整窗口位置。找到的车道线像素索引被合并后,利用多项式拟合生成平滑的车道线模型,并在图像上用不同颜色标记左侧和右侧车道线,最终显示处理后的结果图像。原创 2025-04-03 09:22:01 · 1504 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:道路检测之提取车道线)
在道路检测中,提取车道线至关重要。我们采用两种主要方法进行车道线提取:梯度提取和颜色提取。梯度提取包括高斯滤波、灰度化、梯度处理、二值化和形态学变换(膨胀和腐蚀),能有效突出车道线的边缘特征;颜色提取则通过 HLS 颜色空间提取白色车道线和使用 Lab 颜色空间提取黄色车道线,可以进一步增强车道线的可区分性。这两种方法结合使用,有助于实现更准确的车道线检测。原创 2025-04-02 08:54:23 · 1108 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:道路检测之道路透视变换)
在道路检测中,为了提高车道线的检测精度,我们首先需要对图像进行透视变换,将驾驶者视角的平视图转换为俯视图。这一过程通过 OpenCV 实现,使图像中的车道线在后期处理时更加清晰和易于识别,进而为自动驾驶和辅助驾驶系统提供更可靠的基础数据。原创 2025-04-01 09:10:09 · 623 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像亮度变换)
把亮度调低,就是图片中的所 有像素值减去了一个固定值;把亮度调高,就是图片中的所有像素值加上了一个固定值;增大像素对比度(白的地方更白,黑的地方更黑)亮度调整:图像像素强度整体变高或者变低。原创 2025-03-24 09:05:50 · 692 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:霍夫变换)
霍夫变换是图像处理中的一种技术,主要用于检测图像中的直线、圆或其他形状。其基本思想就是将图像空间中的点映射到参数空间中,通过在参数空间中寻找累计最大值来实现对特定形状的检测。原创 2025-03-24 09:05:31 · 1519 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:模板匹配)
模板匹配就是用模板图(通常是一个小图)在目标图像(通常是一个比模板图大的图片)中不断的滑动 比较,通过某种比较方法来判断是否匹配成功。原创 2025-03-24 09:04:49 · 1105 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:直方图均衡化)
在计算机视觉处理中,使用 OpenCV 的直方图均衡化可以改善图像的对比度和亮度。通过 `cv2.equalizeHist()` 函数对灰度图像进行处理,可以有效地分散像素强度,从而增强细节和可视性,特别是在光照不均的情况下,使得图像更加清晰和易于分析。原创 2025-03-24 09:04:19 · 1276 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像轮廓特征查找:外接轮廓)
在计算机视觉处理中,使用 OpenCV 的图像轮廓特征查找功能可以有效地检测和分析图像中的轮廓,通过 `findContours()` 函数提取轮廓,并结合其他函数(如 `drawContours()`)进行可视化,帮助识别和理解图像的形状和结构特征。原创 2025-03-24 09:03:13 · 948 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:凸包特征检测:凸包方法)
通俗的说,就是完全凸起,没有凹处的多边形,也叫做凸多边形。一 般来说凸包都是伴随着某类点集存在的,也被称为某个点集的凸包。对于一个点集来说,如果该点集存在凸包,那么这个点集中的所有的点要么 在这个凸包上,要么在这个凸包内。凸包检测常用在物体识别、手势识别及边界检测等领域。原创 2025-03-24 09:02:16 · 1552 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:绘制图像轮廓:寻找轮廓,findContours()函数)
轮廓是图像中目标物体或区域的外部边界线或边界区域,由一系列相连的像素构成封闭形状,代表了物体的基本外形。与边缘不同,轮廓是连续的,而边缘则不一定是连续的。轮廓与边缘的区别:轮廓是一组连续的点或线,而边缘不连续。并且边缘更多的是作为图像的特征使用,比如可以用边缘特征来区分脸和手,而轮廓主要用来分析物体的形态,比如物体的周长、面积等。轮廓的作用:1. 形状分析:通过轮廓,可以分析物体的形状,比如是圆形、矩形还是更复杂的形状。2. 目标识别:在识别特定物体时,轮廓可以作为物体的一个重要特征。原创 2025-03-24 09:01:35 · 1271 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像边缘检测:非极大值抑制,双阈值筛选)
在OpenCV中,图像边缘检测是识别图像中对象边界的重要技术。它通过检测图像亮度或颜色突变来确定边缘位置。常用的边缘检测算法包括Sobel、Canny和Laplacian等。Sobel算子计算图像在水平和垂直方向上的梯度,Canny算子则是一种多级边缘检测算法,它包括噪声抑制、梯度计算、非极大值抑制和双阈值分割等步骤,能更准确地检测边缘。Laplacian算子则用于检测图像的二阶导数,从而找到边缘。这些算法为图像分析、对象识别和图像分割等应用提供了基础。原创 2025-03-24 09:00:24 · 2511 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:梯度处理:filiter2D算子,Sobel,Laplacian)
把图片想象成连续函数,因为边缘部 分的像素值是与旁边像素明显有区别的,所以对图片局部求极值,就可以得到整幅图片的边缘信息了。不过图片是二维的离散函数,导数就变成了差分,这个差分就称为图像的梯度。原创 2025-03-24 08:59:26 · 1118 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像噪点消除:滤波算法,噪点消除)
噪声:指图像中的一些干扰因素,通常是由图像采集设备、传输信道等因素造成的,表现为图像中随机 的亮度,也可以理解为有那么一些点的像素值与周围的像素值格格不入。常见的噪声类型包括高斯噪声 和椒盐噪声。高斯噪声是一种分布符合正态分布的噪声,会使图像变得模糊或有噪点。椒盐噪声则是一 些黑白色的像素值分布在原图像中。原创 2025-03-24 08:58:18 · 1613 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:边缘填充方式)
边缘填充方式:边界复制,边界反射,边界反射101,边界常数,边界包裹原创 2025-03-24 08:57:21 · 734 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:插值方法)
在图像处理和计算机图形学中,插值(Interpolation)是一种通过已知数据点之间的推断或估计来获取 新数据点的方法。它在图像处理中常用于处理图像的放大、缩小、旋转、变形等操作,以及处理图像中 的像素值。图像插值算法是为了解决图像缩放或者旋转等操作时,由于像素之间的间隔不一致而导致的信息丢失和 图像质量下降的问题。当我们对图像进行缩放或旋转等操作时,需要在新的像素位置上计算出对应的像 素值,而插值算法的作用就是根据已知的像素值来推测未知位置的像素值。原创 2025-03-24 08:56:55 · 929 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像旋转:插值方法,边缘填充方法)
我们以最简单的一个点的旋转为例子,令旋转中心为坐标系中心O(0, 0),假设有一点P0,P0 离旋转中心O的距离为r, OP0与坐标轴x轴的夹角为, 绕O顺时 针旋转角后对应的点为P ,如下图所示:在OpenCV中,旋转是以图像的左上角为原点,且以逆时针为正方向。因此在上面 的例子中, 其实是一个负值。该矩阵也被称作旋转矩阵。然而我们所要的不仅仅是可以围绕图像左上角进行旋转,而是可以围绕任意点进行 旋转。那么我们可以将其转化成绕原点的旋转,其过程为:1. 首先将旋转点移到原点。原创 2025-03-24 08:56:14 · 1239 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像添加水印)
添加水印的概念其实可以理解为将一张图片中的某个物体或者图案提取出来,然后叠加到另一 张图片上。具体的操作思想是通过将原始图片转换成灰度图,并进行二值化处理,去除背景部分,得到 一个类似掩膜的图像。然后将这个二值化图像与另一张图片中要添加水印的区域进行“与”运算,使得目 标物体的形状出现在要添加水印的区域。最后,将得到的目标物体图像与要添加水印的区域进行相加, 就完成了添加水印的操作。这样可以实现将一个图像中的某个物体或图案叠加到另一个图像上,从而实 现添加水印的效果。原创 2025-03-17 09:28:26 · 1103 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像矫正)
图像矫正的原理是透视变换,透视变换是把一个图像投影到一个新的视平面的过程,在现实世界中,我们观察到的物体在视觉上会 受到透视效果的影响,即远处的物体看起来会比近处的物体小。通俗的讲,透视变换的作用其 实就是改变一下图像里的目标物体的被观察的视角。是变换后的坐标,a11,a12,…,a33则是一些旋转量和平移量, 由于透视变换矩阵的推导涉及三维的转换,所以这里不具体研究该矩阵,只要会使用就行,而OpenCV 里也提供了getPerspectiveTransform()函数用来生成该3*3的透视变换矩阵。原创 2025-03-17 09:27:42 · 1576 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像缩放)
在OpenCV中,图像缩放是调整图像尺寸的关键操作。通过图像缩放,可以放大图像以观察细节,或缩小图像以减少计算负担。常见的缩放方法包括最近邻插值、双线性插值和双三次插值等,它们在精度和计算复杂度上有所不同。`cv2.resize()`函数提供了灵活的图像缩放功能,允许指定目标尺寸或缩放因子,并选择不同的插值方法,从而满足各种应用需求。原创 2025-03-17 09:26:45 · 2620 阅读 · 3 评论 -
Python----计算机视觉处理(Opencv:图像镜像旋转)
图像的旋转是围绕一个特定点进行的,而图像的镜像旋转则是围绕坐标轴进行的。图像镜像旋转,也可 以叫做图像翻转,分为水平翻转、垂直翻转、水平垂直翻转三种。通俗的理解为,当以图片的中垂线为x轴和y轴时:就是将图片的像素点沿x轴翻转,具体到像素点来说就是令其坐标从(x,y)翻转为(x,-y)。就是将图片的像素点沿y轴翻转,具体到像素点来说就是其坐标从(x,y)翻转为(-x,y)就是水平翻转和垂直翻转的结合,具体到像素点来说就是其坐标从(x,y)翻转为(-x, y)。导入模块import cv2输入图像。原创 2025-03-17 08:57:06 · 1010 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:ROI图像切割)
ROI:Region of Interest,翻译过来就是感兴趣的区域。比如对于一个人的照片,假如我 们要检测眼睛,因为眼睛肯定在脸上,所以我们感兴趣的只有脸这部分,其他都不care,所以可以单独 把脸截取出来,这样就可以大大节省计算量,提高运行速度。原创 2025-03-17 08:55:45 · 1229 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图像颜色替换)
开运算就是对图像先进行腐蚀操作, 然后进行膨胀操作。开运算可以去除二值化图中的小的噪点,并分离相连的物体。其主要目的就是消除那些小白点在开运算组件中,有一个叫做kernel的参数,指的是核的大小,通常为3x3、5x5、7x7。原创 2025-03-17 08:54:39 · 1424 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:图片颜色识别:RGB颜色空间,HSV颜色空间,掩膜)
在图像处理中,最常见的就是RGB颜色空间。RGB颜色空间是我们接触最多的颜色空间,是一种用于表 示和显示彩色图像的一种颜色模型。RGB代表红色(Red)、绿色(Green)和蓝色(Blue),这三种 颜色通过不同强度的光的组合来创建其他颜色,广泛应用于我们的生活中,比如电视、电脑显示屏以及 上面实验中所介绍的RGB彩色图。RGB颜色模型基于笛卡尔坐标系,如下图所示,RGB原色值位于3个角上,二次色青色、红色和黄色位于 另外三个角上,黑色位于原点处,白色位于离原点最远的角上。原创 2025-03-17 08:53:06 · 1917 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:形态学变换)
形态学变换(Morphological Transformations)是一种基于形状的图像处理技术,主要处理的对象为二值化图像。形态学变换有两个输入和一个输出:输入为原始图像和核(即结构化元素),输出为经过形态学变换后的图像。其基本操作包括腐蚀(Erosion)和膨胀(Dilation),这两种操作互为反向过程,分别对图像中的亮度值产生不同的影响。原创 2025-03-17 08:52:24 · 1627 阅读 · 0 评论 -
Python----计算机视觉处理(Opencv:自适应二值化,取均值,加权求和(高斯定理))
在计算机视觉处理中,自适应二值化是一种有效的技术,用于根据图像的局部特征动态调整阈值,以提高复杂环境下的图像分割效果。在OpenCV中,通过自适应均值法,可以在每个像素周围定义一个局部窗口,并计算该区域内的均值,进而确定阈值;而使用自适应高斯法时,则基于该区域内的高斯权重计算加权和,从而得到更平滑的阈值处理。这种方法特别适合处理光照不均的图像,能够有效地分割出前景和背景,提高图像分析的准确性。原创 2025-03-11 15:29:15 · 3013 阅读 · 6 评论 -
Python----计算机视觉处理(Opencv:二值化,阈值法,反阈值法,截断阈值法,OTSU阈值法)
在计算机视觉处理中,二值化是一种重要的图像处理技术,用于将灰度图像转换为仅包含黑白两种颜色的图像。常见的二值化方法包括阈值法,它通过设置一个固定的阈值,将灰度值高于该值的像素设为白色,低于该值的设为黑色;反阈值法则是相反的过程,将低于阈值的像素设为白色,而高于阈值的设为黑色;截断阈值法则将高于阈值的像素值保持不变,低于阈值的像素设为黑色。此外,OTSU阈值法是一种自适应阈值技术,它根据图像的灰度直方图自动选择最佳阈值,从而有效分离前景与背景,尤其在光照和对比度变化较大时表现出色。原创 2025-03-11 15:26:34 · 1270 阅读 · 0 评论 -
Python----计算机视觉处理(opencv:图片灰度化)
在计算机视觉处理领域,灰度图与彩色图的主要区别在于信息维度,前者只包含亮度通道,而后者含有红、绿、蓝三个通道。灰度化可以通过加权平均法(根据感知亮度的权重计算)、均值法(简单取平均)和最大值法(取最大亮度值)等方法实现。在OpenCV中,可使用`cvtColor()`函数将彩色图像转换为灰度图,同时借助`imread()`函数读取图像文件,这些工具为图像处理提供了有效的支持。原创 2025-03-11 15:25:31 · 1759 阅读 · 2 评论 -
Python----计算机视觉处理(opencv:像素,RGB颜色,图像的存储,opencv安装,代码展示)
像素是图像的基本单元,每个像素存储着图像的颜色、亮度和其他特征。一系列像素组合到一起就形成 了完整的图像,在计算机中,图像以像素的形式存在并采用二进制格式进行存储。根据图像的颜色不 同,每个像素可以用不同的二进制数表示。日常生活中常见的图像是RGB三原色图。RGB图上的每个点都是由红(R)、绿(G)、蓝(B)三个颜 色按照一定比例混合而成的,几乎所有颜色都可以通过这三种颜色按照不同比例调配而成。在计算机 中,RGB三种颜色被称为RGB三通道,根据这三个通道存储的像素值,来对应不同的颜色。原创 2025-03-11 08:54:11 · 1788 阅读 · 0 评论