自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

swpucwf的博客

写自己的笔记,让别人卷去吧

  • 博客(110)
  • 资源 (3)
  • 收藏
  • 关注

原创 传统CV算法——边缘检测算子总结以及新兴边缘算法

边缘检测算子总结边缘检测算子总结SUSAN边缘及角点检测方法SUSAN检测方法概述SUSAN边缘检测边缘响应的计算边缘方向的计算非极大值抑制子像素精度检测位置并不依赖于窗口大小SUSAN角点检测排除误检的角点非极大值抑制SUSAN噪声滤波方法新兴的边缘检测算法边缘检测算子总结算子优缺点比较Roberts对具有陡峭的低噪声的图像处理效果较好, 但利用Roberts算子提取边缘的结果是边缘比较粗, 因此边缘定位不是很准确。Sobel对灰度渐变和噪声较多的图像处理效果比较好, S

2021-12-21 16:15:24 3393

原创 传统CV算法——二阶微分边缘算子

二阶微分边缘算子二阶微分边缘算子二阶微分边缘算子基本思想Laplace 算子拉普拉斯表达式图像中的Laplace 算子二阶微分边缘算子二阶微分边缘算子基本思想边缘即是图像的一阶导数局部最大值的地方,那么也意味着该点的二阶导数为零。二阶微分边缘检测算子就是利用图像在边缘处的阶跃性导致图像二阶微分在边缘处出现零值这一特性进行边缘检测的。对于图像的二阶微分可以用拉普拉斯算子来表示:∇2I=∂2I∂x2+∂2I∂y2\nabla^{2} I=\frac{\partial^{2} I}{\pa

2021-12-21 14:27:18 1682

原创 传统CV算法——一阶微分边缘算子

一阶微分边缘算子详解一阶微分边缘算子一阶微分边缘算子基本思想Roberts 算子Roberts 算法思想Roberts 算法步骤Roberts 算子的推导Roberts 算法优缺点Prewitt 算子Prewitt 算法思想Prewitt 算法步骤Prewitt 算法优缺点Sobel 算子Sobel 算法思想Sobel 算法步骤Sobel 算法优缺点Sobel 的变种——Istropic SobelKirsch 算子Kirsch 算法思想Kirsch 算法步骤Kirsch 算法计算优化Kirsch 算法优缺

2021-12-20 16:45:48 2667

原创 传统CV算法——边缘检测算法综述

边缘检测边缘概述认识边缘定义轮廓和边缘的关系边缘的类型边缘检测的概念概念边缘检测方法基本方法图像滤波图像增强图像检测图像定位边缘检测算子的概念常见的边缘检测算子用梯度算子实现边缘检测的原理梯度算子边缘点梯度梯度算子梯度如何衡量使用梯度算子实现边缘检测原理实现参考边缘概述认识边缘定义边缘是不同区域的分界线,是周围(局部)灰度值有显著变化的像素点的集合,有幅值与方向两个属性。这个不是绝对的定义,主要记住边缘是局部特征,以及周围灰度值显著变化产生边缘。轮廓和边缘的关系一般认为轮廓是对物体的完整边界的描

2021-12-16 17:22:16 7207

原创 目标检测从入门到精通——数据增强方法总结

数据增强方法适用的YOLO版本数学原理相关论文图像缩放将输入图像缩放到固定大小(如448x448),以适应网络输入。随机裁剪从原始图像中随机裁剪出部分区域进行训练,增加样本多样性。随机翻转对图像进行水平翻转,增强模型对目标方向变化的鲁棒性。颜色抖动随机调整图像的亮度、对比度、饱和度和色调,增加数据多样性。随机缩放在训练过程中随机缩放图像,以适应不同尺寸的目标。Mosaic将四张图像拼接在一起形成一张新图像,帮助模型学习不同目标之间的上下文关系。Mixup。

2024-09-10 11:12:52 1286

原创 机器学习和深度学习的区别

在当前人工智能的研究中,(Machine Learning, ML)和(Deep Learning, DL)是两项核心技术,它们虽然经常被混用,但在模型复杂性、数据依赖性以及应用场景等多个维度上存在显著差异。作为这两个领域的研究者,有必要从更高层次的视角出发,详细剖析它们的差异,以帮助读者理解为何深度学习逐渐成为现代人工智能的“主角”。在讨论(ML)与(DL)时,除了它们的差异、应用和未来发展方向,了解它们的是理解它们演进和重要性的关键。下面将深入探讨机器学习和深度学习的历史发展。

2024-09-10 10:04:45 1630

原创 目标检测从入门到精通——常见iou及变体算法介绍

在目标检测任务中,IoU 是评估模型性能的重要指标。随着研究的深入,许多 IoU 的变体被提出,以解决传统 IoU 在某些情况下的不足。每种 IoU 变体都有其独特的优点和适用场景,选择合适的 IoU 计算方法可以根据具体应用需求来决定。指标计算方式特点IoU交集面积 / 并集面积简单易懂,但在无重叠情况下无法提供有效反馈GIoUIoU - (最小外接框面积 - 并集面积) / 最小外接框面积解决了 IoU 的不足,考虑了框之间的距离DIoU。

2024-09-09 17:47:13 965

原创 验证码识别之点选验证码识别——绪论

随着互联网的飞速发展,网络安全问题日益凸显,验证码作为一种有效的安全防护手段,广泛应用于登录验证、注册验证、防止自动化攻击等多个场景。传统的验证码形式如文本验证码、图形验证码等,虽在一定程度上提高了安全性,但也存在用户体验不佳、易被OCR(光学字符识别)技术破解等问题。近年来,点选验证验证码(又称为“点击验证”、“滑动验证”等)因其更高的安全性和良好的用户体验,逐渐成为验证码领域的新宠。本文将探讨如何利用深度学习技术实现点选验证验证码的识别,以期为相关领域的研究与应用提供参考。

2024-09-09 17:18:09 1016

原创 统计学习方法——机器学习和统计学习介绍及基本入门

1.统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行分析与预测的一门学科。统计学习包括监督学习、非监督学习、半监督学习和强化学习。2.统计学习方法三要素——模型、策略、算法,对理解统计学习方法起到提纲挈领的作用。3.本书主要讨论监督学习,监督学习可以概括如下:从给定有限的训练数据出发, 假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一评价准则,从假设空间中选取一个最优的模型,使它对已给训练数据及未知测试数据在给定评价标准意义下有最准确的预测。4.统计学习中,进行模型选择.

2024-09-04 10:52:36 7778

原创 传统CV算法——threshold阈值算法介绍

阈值化函数我的理解为,在计算机图像视觉中,我们常见的RGB图像表现的信息过多,可能会存在于一些掺杂的噪声(因为针对视觉目标不是我们需要的),因此使用阈值算法,直接效果就是可以降噪,特征更加的明显化。一般使用灰度图,需要使用单通道的图片才可以进行阈值化,针对RGB或者HSV格式的图片,我们需要进行灰度化操作才可以进行阈值算法的使用。import cv2 as cvimg = cv.imread("./images/1.jpg")gray = cv.cvtColor(img,cv.COLOR_.

2024-09-04 10:47:11 2617

原创 统计学习方法与实战——统计学习方法概论

统计学习方法概论文章目录统计学习方法概论前言章节目录导读实现统计学习方法的步骤统计学习方法三要素模型模型是什么?策略损失函数与风险函数常用损失函数ERM与SRM算法模型评估与模型选择过拟合与模型选择正则化与交叉验证泛化能力生成模型与判别模型生成方法判别方法分类问题、标注问题、回归问题参考前言章节目录统计学习监督学习基本概念问题的形式化统计学习三要素模型策略算法模型评估与模型选择训练误差与测试误差过拟合与模型选择正则化与交叉验证正则化交叉验证泛化能

2024-09-04 09:37:32 2184

原创 统计学习方法与实战——统计学习方法之感知机

感知机感知机三要素分析模型策略损失函数选择算法原始形式对偶形式相关问题例子iris数据集分类实战数据集查看显示结果sklearn 实战感知机习题解答习题2.1解题步骤反证法习题2.2习题2.3凸壳线性可分线性可分证明凸壳不相交证明充分性:凸壳不相交\Rightarrow⇒线性可分证明步骤、感知机感知机是根据输入实例的特征向量 xxx 对其进行二㺯分尖的线性分光模型:f(x)=sign⁡(w⋅x+b)f(x)=\operatorname{sign}(w \cdot x+b)f(x)=sign(w

2024-09-04 09:32:34 2036

原创 统计学习与方法实战——统计学习方法概论

统计学习方法概论题统计学习方法概论实现统计学习方法的步骤统计学习方法三要素模型策略损失函数与风险函数定义常用损失函数经验风险最小化(ERM)与结构风险最小化(SRM)模型评估与模型选择过拟合与模型选择正则化与交叉验证泛化能力生成模型与判别模型生成方法判别方法最小二乘法的实现伯努利模型习题1.1解法一:求最大后验估计补充知识:Beta分布解法二:求后验概率分布的期望习题1.2统计学习方法概论实现统计学习方法的步骤统计学习方法三要素:模型,策略,算法得到一个有限的训练数据集合确定包含所有可能的模型的

2024-09-04 09:12:03 3068

原创 李宏毅机器学习笔记——反向传播算法

反向传播算法前向传播 forward propagation 过程:当前馈神经网络接收输入 x→\overrightarrow{\mathbf{x}}x 并产生输出 y\mathbf{y}y 时,信息前向流动。 输入 x→\overrightarrow{\mathbf{x}}x 提供初始信息,然后信息传播到每一层的隐单元,最终产生输出 y\mathbf{y}y 。反向传播算法 back propagation 允许来自代价函数的信息通过网络反向流动以便计算梯度。反向传播并不是用于学习整个神经网络

2024-09-04 09:09:05 1753

原创 李宏毅机器学习笔记——回归相关技术介绍

回归定义Regression 就是找到一个函数 functionfunctionfunction ,通过输入特征 xxx,输出一个数值 ScalarScalarScalar。连续性变量预测简单的线性回归单个特征,w,b多元回归多个特征多个w,b 其中b及也可以估量为w0简单的梯度下降法步骤1:随机选取一个 w0w^0w0步骤2:计算微分,也就是当前的斜率,根据斜率来判定移动的方向大于0向右移动(增加www)小于0向左移动(减少www)步骤3:根据学习率移动

2024-09-04 09:08:10 1089

原创 统计学习与方法实战——K近邻算法

K近邻算法K近邻算法备注k近邻模型算法距离度量kkk值选择分类决策规则构造KDTreekkk近邻查找范围查询K近邻算法备注kNN是一种基本分类与回归方法.多数表决规则等价于0-1损失函数下的经验风险最小化,支持多分类, 有别于前面的感知机算法kNN的k和KDTree的k含义不同KDTree是一种存储k维空间数据的树结构建立空间索引的方法在点云数据处理中也有广泛的应用,KDTree和八叉树在3D点云数据组织中应用比较广KDTree是平衡二叉树KDTree的搜索问题分为k近邻查找和范围查

2024-09-04 09:06:44 1438

原创 目标跟踪算法——ByteTrack算法原理解析

模块,用于解决线性分配问题(也称为匈牙利算法)。这个函数会找到一种最优的配对方式,使得两组元素之间的配对总成本最小。函数来自 SciPy 的。

2024-09-04 01:17:21 2110

原创 深度学习从入门到精通——感知损失介绍及基本实现

Perceptual Losses感知损失感知损失图像转换问题(image transformation tasks),输入一副图像转换成另一幅图像输出。现有方法来解决的图像转换问题,往往以监督训练的方式,训练一个前向传播的网络,利用的就是图像像素级之间的误差。这种方法在测试的时候非常有效,因为仅仅需要一次前向传播即可。但是,像素级的误差没有捕获输出和ground-truth图像之间的感知区别(perceptual differences)。高质量的图像可以通过定义和优化perceptual loss

2024-09-04 01:15:01 5117 1

原创 传统CV算法——边缘检测算法Canny算法实战

Canny 算法边缘:我的理解是在图像处理的过程中,针对我们图像处理的过程中,梯度变化以较大的地方能够让我们能够快速辨识,针对一个人脸,脸上有一些平滑的地方(没错我针对美颜的),与头发的接壤处,会让我们清楚的意识到这个人脸的大小形状等特征。通过线条我们能够很清晰的辨认一个人的特征,因此,图像边缘是图像处理之中很简单的任务之一。Canny算法步骤去燥(常用高斯滤波)任何边缘检测算法都不可能在未经处理的原始数据上很好地工作,使用高斯滤波可以去除常见的噪声。计算梯度大小和方向梯度的大小和方向

2024-09-04 00:50:54 1149

原创 传统CV算法——轮廓性质算法实战

近似轮廓寻找import cv2img = cv2.imread("./images/26.jpg",cv2.IMREAD_COLOR)img2gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)ret,thresh = cv2.threshold(img2gray,127,255,cv2.THRESH_OTSU)contours,_ = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX.

2024-09-04 00:44:36 1327 11

原创 传统CV算法——角点特征点提取匹配算法实战

harris角点角点可以是两个边缘的角点;角点是邻域内具有两个主方向的特征点;角点通常被定义为两条边的交点,更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。或者说,角点就是多条轮廓线之间的交点。像素点附近区域像素无论是在梯度方向、还是在梯度幅值上都发生较大的变化。一阶导数(即灰度的梯度)的局部最大所对应的像素点;两条及两条以上边缘的交点;图像中梯度值和梯度方向的变化速率都很高的点;角点处的一阶导数最大,二阶导数为零,指示物体边缘变化不连续的方向。import cv2i

2024-09-04 00:32:45 4177 4

原创 深度学习从入门到精通——yolov1

YOLOV1速度快,能够达到实时的要求。在 Titan X 的 GPU 上 能够达到 45 帧每秒。使用全图作为 Context 信息,背景错误(把背景错认为物体)比较少。泛化能力强。YOLO的核心思想就是利用整张图作为网络的输入,直接在输出层回归bounding box的位置和bounding box所属的类别,属于one-Stage 网络。Faster RCNN中也直接用整张图作为输入,但是faster-RCNN整体还是采用了RCNN那种 proposal+classifier的

2024-09-04 00:16:01 4278

原创 深度学习从入门到精通——yolov3算法介绍

YOLO v3论文地址:https://pjreddie.com/media/files/papers/YOLOv3.pdf论文:YOLOv3: An Incremental Improvement[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DpKYQScV-1646385980332)(…/images/yoloV3/image-20220202194620782.png)]先验框(10×13),(16×30),(33×23),(30×61),(62×45

2024-09-04 00:10:59 4111

原创 计算机视觉基础——基于yolov5-face算法的车牌检测

CCPD数据集主要采集于安徽某停车场一段时间内的数据,所有图片尺寸固定为720×1160(w×h),类别描述图片数CCPD-Base通用车牌图片200kCCPD-FN车牌离摄像头拍摄位置相对较近或较远20kCCPD-DB车牌区域亮度较亮、较暗或者不均匀20k车牌水平倾斜 20 到 50 度,竖直倾斜-10到 10 度10kCCPD-Tilt车牌水平倾斜 15 到 45 度,竖直倾斜 15 到 45 度10k车牌在雨雪雾天气拍摄得到10k。

2024-09-04 00:10:49 7287

原创 传统CV算法——基于Opencv的多目标追踪算法

在OpenCV中,有多种对象追踪器可用。我们将它们存储在一个字典中,便于后续使用。import cv2# 配置参数# opencv已经实现了的追踪算法# 实例化OpenCV's multi-object tracker# 视频流# 取当前帧# 到头了就结束break# resize每一帧width=600# 追踪结果# 绘制区域# 显示# 选择一个区域,按s# 创建一个新的追踪器# 退出break。

2024-09-04 00:05:14 1202

原创 ffmpeg音视频开发从入门到精通——ffmpeg日志及目录操作

【代码】FFMPEG日志系统。

2024-09-04 00:01:50 846

原创 ffmpeg音视频开发从入门到精通——ffmpeg实现音频抽取

使用FFmpeg库前需要包含相应的头文件,并在C++中声明外部C函数的命名空间。另外,程序中存在一些潜在的内存泄漏和错误处理问题,应进一步优化。为输出文件创建一个新的音频流,并复制输入音频流的参数。读取输入文件的音频数据,转换时间戳,并写入输出文件。写入文件尾部信息,关闭文件,并释放所有分配的资源。遍历所有流,找到音频流的索引。程序入口点,处理命令行参数。分配输出文件的格式上下文。请注意,错误处理部分应使用。获取多媒体文件的流信息。打开输出文件准备写入。猜测输出文件的格式。

2024-09-04 00:01:42 1559

原创 传统CV算法——光流估计算法介绍

它基于这样的假设:在连续的视频帧之间,一个物体的移动会导致像素强度的连续性变化。空间一致:一个场景上邻近的点投影到图像上也是邻近点,且邻近点速度一致。小运动:随着时间的变化不会引起位置的剧烈变化,只有小运动情况下才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数。光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”,根据各个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪。status 特征点是否找到,找到的状态为1,未找到的状态为0。实现光流估计的方法有很多,包括。

2024-09-04 00:01:14 735

原创 ffmpeg音视频开发从入门到精通——ffmpeg 视频数据抽取

在C++程序中使用FFmpeg之前,需要包含相应的头文件,并根据是否使用C++编译器,可能需要添加extern "C"块。

2024-09-03 23:35:54 1224

原创 传统CV算法——基于Opencv的图像绘制

+直线绘制参数解析:(图像矩阵,直线起始坐标, 直线终止坐标、颜色、线条厚度)import cv2import numpy as npimg = cv2.imread(r"./images/1.jpg")cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)cv2.imshow("pic show",img)cv2.waitKey(0)圆形绘制参数 (图像,圆心,半径,颜色,线条厚度)import c

2024-09-03 23:08:28 2496 9

原创 传统CV算法——仿射变换原理及应用

可以理解一下常规的翻转和平移。“线性变换”+“平移”空间变换中的仿射变换对应着五种变换,平移,缩放,旋转,翻转,错切。而这五种变化由原图像转变到变换图像的过程,可以用仿射变换矩阵进行描述。而这个变换过程可以用一个3*3的矩阵与原图进行相乘得到。仿射变换(Affine Transformation)其实是另外两种简单变换的叠加:一个是线性变换,一个是平移变换共线性:若几个点变换前在一条线上,则仿射变换后仍然在一条线上共线比例不变性:变换前一条线上两条线段的比例,在变换后比例不变平行性:若两条线变换.

2024-09-03 22:40:37 5521 5

原创 深度学习——强化学习算法介绍

强化学习讨论的问题是一个智能体(agent) 怎么在一个复杂不确定的环境(environment)里面去极大化它能获得的奖励。

2024-09-03 21:46:48 2060

原创 传统CV算法——背景建模算法介绍

由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。在测试阶段,对新来像素点的值与混合高斯模型中的每一个均值进行比较,如果其差值在2倍的方差之间的话,则认为是背景,否则认为是前景。将前景赋值为255,背景赋值为0。3.当后面来的像素值时,与前面已有的高斯的均值比较,如果该像素点的值与其模型均值差在3倍的方差内,则属于该分布,并对其进行参数更新。

2024-09-03 21:32:54 1052

原创 传统CV算法——特征匹配算法

虽然Brute-Force匹配方法在小型或中等复杂度的数据集上可以非常有效,但它的计算成本随着特征点数量的增加而显著增加,这可能导致在大规模数据集上的性能问题。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。:在蛮力匹配中,源图像的每个特征点的描述符都会与目标图像中每个特征点的描述符进行比较。:对提取出的每个特征点生成一个描述符,这个描述符捕捉了特征点周围的图像信息,通常是通过一定的算法(如SIFT、SURF或ORB等)来实现。:首先,从两个待比较的图像中提取关键特征点。

2024-09-03 21:30:19 1927

原创 ffmpeg音视频开发从入门到精通——ffmpeg下载编译与安装

FFmpeg 是一个音视频处理的工具,通过 FFmpeg 可以对视频进行旋转、缩小、添加水印、截图、添加马赛克、直播推流、转化音频等操作。:媒体流一般是指时间轴上的连续的数据,这些数据是需要连续的,如一段音频数据、一段视频数据等;:数据帧是指媒体流中的最小处理单元,例如很多张图片组成一段连续的视频,每一帧则是每一张图片;ffmpeg是一个跨平台的多媒体框架,可以用于解码、编码、转码、复用、解复用、滤镜等处理。:解复用则是与复用相反,把一个文件中不同的流解析出来称之为解复用;:指对一个数据流进行变换的程序;

2024-09-03 21:21:04 1081

原创 传统CV算法——图像基本操作与形态学操作

图像基本操作; 图像形态学处理;

2024-09-03 14:52:44 2080

原创 传统CV算法——图像特征算法之斑点检测算法

在图像处理和计算机视觉中,斑点通常指的是图像中局部区域的特征或模式。这些斑点可以是图像中的亮点、暗点或其他特征,通常用于描述图像的纹理、形状或颜色分布。定义:在图像中,斑点可以被定义为一组相邻像素,其强度值或颜色值与周围像素显著不同。斑点的特征可以通过局部统计量(如均值、标准差等)来描述。是一种有效的图像处理技术,通过计算两个不同标准差的高斯函数之间的差异来实现边缘检测和特征提取。它在计算机视觉领域中具有重要的应用价值,尤其是在特征点检测和多尺度分析中。

2024-09-03 14:23:40 1712

原创 深度学习——基于MTCNN算法实现人脸侦测

这里写目录标题先看效果MTCNN主体思想级联网络图像金字塔IOU算法iou 公式nms 算法数据代码训练代码侦测代码总结先看效果MTCNN从2016年,MTCNN算法出来之后,属实在工业上火了一把,最近尝试着把论文代码复现了一下。主体思想级联网络**这篇论文属于一篇多任务级联卷积神经网络,如图,利用P、R、O 三个网络来进行检测。算法步骤:将传入p网络中,预选一些框,生成特征图将p网络中的预选框传入R网络中进行进一步筛选将R网络中的预选框传入O网络中进行进一步筛选O网络进行

2024-09-03 14:12:24 2241 3

原创 传统CV算法——边缘算子与图像金字塔算法介绍

较低的阈值可以捕获更多的边缘(但可能包括一些噪声),而较高的阈值只捕获最显著的边缘。这个算法的步骤包括使用高斯滤波器去除图像噪声、计算图像的梯度强度和方向、应用非极大值抑制(NMS)来消除边缘响应的假阳性以及应用双阈值检测和边缘连接。高斯金字塔主要用于图像的多尺度表示。Sobel算子是一种用于边缘检测的图像梯度算子,它通过计算图像亮度的空间梯度来突出显示图像中的边缘。在实践中,Sobel算子通过卷积框架应用于图像,分别计算x和y方向上的梯度,然后根据需要可能会结合这两个方向的梯度来得到边缘的完整表示。

2024-09-03 14:09:49 1199

原创 基于tesseract实现文档OCR识别

对四个坐标点进行排序,确定文档的四个角(左上,右上,右下,左下)。使用欧氏距离来计算和排序点。# 一共4个坐标点# 按顺序找到对应坐标0123分别是 左上,右上,右下,左下# 计算左上,右下# 计算右上和左下此函数用于排序提供的四个点,确保点的顺序为左上、右上、右下和左下,这对后续的透视变换非常重要。使用cv2.getPerspectiveTransform和cv2.warpPerspective来计算变换矩阵并应用# 获取输入坐标点# 计算输入的w和h值# 变换后对应坐标位置。

2024-09-03 14:09:01 2023

git常用的操作手册和指南

1. **配置 Git**:设置用户名和邮箱,确保提交记录中包含正确的用户信息。 2. **初始化仓库**:在本地目录中创建一个新的 Git 仓库。 3. **克隆仓库**:从远程仓库复制一份到本地,获取已有项目的副本。 4. **查看状态**:检查当前文件的状态,了解哪些文件被修改、删除或新增。 5. **添加文件**:将修改添加到暂存区,为提交做好准备。 6. **提交更改**:将暂存区的内容保存到本地仓库的历史记录中。 7. **查看历史**:查看项目的提交历史,了解更改的时间线。 8. **推送更改**:将本地提交的更改发送到远程仓库,与他人共享更新。 9. **拉取更改**:从远程仓库获取最新的更新,并将其合并到本地仓库。 10. **分支管理**:创建、切换和删除分支,便于独立开发不同的功能或版本。 11. **合并分支**:将不同分支的更改合并到一个分支中,整合开发成果。

2024-08-27

基于智谱AI和LangChain实现RAG应用代码

基于智谱AI和LangChain实现的RAG(Retrieval-Augmented Generation)应用是一种前沿的自然语言处理技术,结合了强大的语言生成模型和高效的检索系统。通过智谱AI的语言模型,RAG应用能够理解和生成高质量的自然语言文本,而LangChain提供的检索功能则确保了回答的准确性和相关性。 在这个系统中,用户提出的问题首先通过向量数据库进行检索,从中提取出最相关的文档或片段。随后,智谱AI模型利用这些检索到的上下文生成一个简明、准确的回答。通过集成会话记忆功能,RAG应用还支持多轮对话,能够保持上下文连贯性,适应复杂的交互需求。 这种技术的应用场景广泛,从智能问答系统、在线教育,到客户支持,RAG应用都能显著提升用户体验,提供更有针对性和深度的回答。总的来说,基于智谱AI和LangChain的RAG应用为下一代智能对话系统奠定了坚实的技术基础。

2024-08-27

百度的关键字爬取相关图片

百度关键字爬虫是一种用于从百度搜索引擎中抓取相关搜索结果的工具。它可以根据用户指定的关键字进行搜索,并将搜索结果保存为结构化的数据,如网页链接、标题、描述等信息。 Python编程语言:百度关键字爬虫常使用Python编写。如果您还不熟悉Python,可以学习一些基础知识,如语法、数据类型、循环和函数等。 爬虫框架:有很多Python爬虫框架可供选择,如Scrapy、BeautifulSoup和Selenium等。这些框架可以帮助您更方便地实现爬虫功能,处理网页和提取数据。您可以根据自己的需求选择合适的框架。 百度搜索API:如果您想更高效地获取百度搜索结果,可以考虑使用百度搜索API。该API提供了一系列接口,可以帮助您进行搜索,并获取相关的信息。您需要注册百度开发者账号,并获取API密钥。 数据存储:爬取的数据可以保存在本地文件中,也可以存储在数据库中,如MySQL或MongoDB等。您可以根据自己的需求选择适合的存储方式。 反爬虫策略:为了防止被百度的反爬虫机制封禁,您需要了解相关的反爬虫策略,并使用一些技巧来规避检测,如设置合适的爬取频率、使用代理IP和User-Age

2024-08-26

基于LangChain和智谱API搭建知识库

基于LangChain和智谱API的知识库是一个强大的资源,它结合了自然语言处理和知识图谱技术,为用户提供全面且准确的知识检索和查询功能。LangChain是一个先进的语言处理引擎,能够实现文本的语义理解和分析,从而从大量的文本数据中提取有用的信息。智谱API则是一个基于知识图谱的搜索引擎,它能够将不同领域的知识进行关联和组织,形成一个完整的知识网络。 通过LangChain和智谱API的结合,用户可以方便地利用自然语言进行查询,无需专业的检索技巧或复杂的搜索语法。只需要输入相关领域的问题或关键词,系统就能自动理解用户的意图,并从知识库中找到最相关的资源。无论是科学、技术、医学还是人文社科领域的问题,都可以得到及时和正确的答案。 此外,LangChain和智谱API还支持多语言搜索和跨语言信息的处理。不论用户使用的是中文、英文还是其他语言,系统都能够进行准确的语义分析和知识检索。 总之,基于LangChain和智谱API的知识库提供了强大的语义理解和知识检索功能,帮助用户快速获取所需的信息,提升了信息检索的效率和准确性。

2024-08-26

用于图像分割的代码源码

unet++实现代码参考源码

2024-04-21

图像分割的学习参考代码

图像分割的学习参考代码

2024-04-21

yolo v7的训练代码,包括导入导出

yolov7 的训练代码,包括数据集的制作,训练代码;

2024-04-20

Python库d和OpenCV来实现眼部闭合检测,主要用于评估用户是否眨眼

这段代码使用了Python库d和OpenCV来实现眼部闭合检测,主要用于评估用户是否眨眼。下面是代码的主要步骤和相关的代码片段: ### 步骤一:导入必要的库和设置参数 首先,代码导入了必要的Python库,如dlib、OpenCV和scipy。通过`argparse`设置了输入视频和面部标记预测器的参数。 ```python from scipy.spatial import distance as dist from collections import OrderedDict import numpy as np import argparse import time import dlib import cv2 ``` ### 步骤二:定义面部关键点索引 使用`OrderedDict`定义了包含68个点的面部关键点,用于眼部分析。 ```python FACIAL_LANDMARKS_68_IDXS = OrderedDict([ ("mouth", (48, 68)), ("right_eyebrow", (17, 22)), ("left_e

2024-04-18

使用Python库dlib和OpenCV来实现面部特征点的检测和标注

使用Python库dlib和OpenCV来实现面部特征点的检测和标注。

2024-04-18

实现一个简单的视频对象追踪应用,该应用支持多种追踪算法,并允许用户实时选择和追踪视频中的对象 这种技术在许多领域都有广泛的应用

实现一个简单的视频对象追踪应用,该应用支持多种追踪算法,并允许用户实时选择和追踪视频中的对象。这种技术在许多领域都有广泛的应用,包括安全监控、人机交互和自动驾驶车辆等。

2024-04-18

从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程

从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程。程序能够有效地对图像进行分类预测,并将结果直观地显示出来,适用于教学或研究目的。

2024-04-18

基于Opencv实现答题卡识别系统中的各个功能

实现答题卡识别系统中的各个功能。每个步骤都是自动化处理的关键部分,确保系统能够准确地读取和评分答题卡。自动化地完成了从读取图像到输出成绩的整个流程通过填涂密度判断学生选择,通过计算填涂区域的像素密度来判断学生的的选项。然后将这个选择与答案键中的正确选项进行比较,统计出正确的答案数量。

2024-04-18

停车位识别基于深度学习的停车位识别系统利用计算机视觉技术来自动检测和监控停车位的占用情况 地平线

基于深度学习的停车位识别系统利用计算机视觉技术来自动检测和监控停车位的占用情况。这种系统通常通过安装在停车场的摄像头来实现,摄像头捕捉的图像数据被送入深度学习模型进行分析。这些模型能够识别出图像中的停车位,并确定每个停车位是否被占用。此技术不仅提高了停车效率,减少了寻找停车位的时间,还可以被应用于智能交通系统中,实时更新停车信息,为驾驶者提供便利。深度学习模型的训练过程包括大量的图像数据,这些数据需要标注停车位的位置和状态,以训练模型准确识别。

2024-04-17

全景图像拼接;实现特征点检测与描述子

特征点检测与描述子计算: 使用 SIFT 算法检测图像的关键点,并计算每个点的描述子。这一步是识别图像中的特征并提取有用信息的关键步骤。 特征点匹配: 使用 KNN 和比值测试来筛选良好的匹配点。这一步是确保两图中对应的特征点确实相似,为后续的图像对齐打下基础。 计算单应性矩阵并进行图像变换: 使用 RANSAC 算法基于匹配点对计算单应性矩阵,这一矩阵能够描述一张图像到另一张图像的透视变换。 使用该矩阵通过透视变换将一张图像变形,使其与另一张图像对齐。 图像拼接: 将变换后的图像与另一张图像合并,形成一个单一的更大的图像。 结果展示: 可选地显示特征点的匹配情况,帮助理解两图是如何通过匹配点关联起来的。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_42917352/article/details/13789

2024-04-17

基于Opencv与tesseract 实现的文本识别

应用场景: 文档数字化:将纸质文档扫描后识别为数字文本。 自动化表单处理:从填写的表单中提取信息。 车牌识别:用于交通监控或自动收费系统。 辅助技术:帮助视觉障碍人士阅读印刷材料。 多语言支持:Tesseract 支持100多种语言的识别。 高度可定制:用户可以训练Tesseract来识别新的字体或优化特定语言的识别。 多种输出格式:Tesseract 可以输出普通文本、hOCR(带有布局信息的HTML)、PDF等格式。 集成易用:可以通过命令行使用,也可通过其API集成到其他应用程序中,比如通过pytesseract在Python中使用。

2024-04-17

基于OpenCV与模版匹配 实现信用卡、银行卡号识别

基于OpenCV与模版匹配 实现信用卡、银行卡号识别

2024-04-17

FasterRcnn.zip

FasterRcnn的代码复现

2021-11-17

MTCNN相关代码完美实现

深度学习 ,目标检测 、卷积神经网络

2021-11-05

Opencv从入门到跑路images.zip

用来实现博客上的资料

2021-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除