![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
文章平均质量分 71
专门用于OpenCV的实战
小陈phd
哇咔咔,过拟合,我跟你拼了;V:SWPUCWF 欢迎技术交流
展开
-
OpenCV基本图像处理操作(十一)——图像特征Sift算法
在一定的范围内,无论物体是大还是小,人眼都可以分辨出来,然而计算机要有相同的能力却很难,所以要让机器能够对物体在不同尺度下有一个统一的认知,就需要考虑图像在不同的尺度下都存在的特点。尺度空间的获取通常使用高斯模糊来实现不同σ的高斯函数决定了对图像的平滑程度,越大的σ值对应的图像越模糊。D(x,y,σ)=[G(x,y,kσ)−G(x,y,σ)]∗I(x,y)=L(x,y,kσ)−L(x,y,σ)D(x, y, \sigma)=[G(x, y, k \sigma)-G(x, y, \sigma)] * I(原创 2024-04-17 22:53:43 · 1028 阅读 · 1 评论 -
OpenCV从入门到精通——直方图操作
自适应直方图均值化解决局部过于亮或者灰的问题# -*- coding: utf-8 -*-"""@Time : 2021/7/23 上午9:51@Auth : 陈伟峰@File :hist_ad.py@wechat: 15882085601@IDE :PyCharm@Motto:ABC(Always Be Coding)"""import cv2img = cv2.imread("./images/8.jpg",cv2.IMREAD_GRAYSCALE)cv2.imsho原创 2021-07-23 23:21:18 · 287 阅读 · 1 评论 -
OpenCV从入门到精通实战(八)——基于dlib的人脸关键点定位
使用定义了两组面部关键点,一组包含68个点,另一组包含5个点,这些关键点用于后续的特征提取。])原创 2024-04-18 02:03:04 · 765 阅读 · 0 评论 -
OpenCV基本图像处理操作(五)——图像数据操作
这段代码演示了使用 OpenCV 在图像边缘添加不同类型的边框的方法。代码首先指定了要添加到图像四周的边框大小,然后使用不同的边框类型来创建新的图像。最后,使用 matplotlib 展示了原始图像和各种边框效果。原创 2024-04-16 00:51:37 · 495 阅读 · 0 评论 -
OpenCV基本图像处理操作(二)——边缘算子与图像金字塔
较低的阈值可以捕获更多的边缘(但可能包括一些噪声),而较高的阈值只捕获最显著的边缘。这个算法的步骤包括使用高斯滤波器去除图像噪声、计算图像的梯度强度和方向、应用非极大值抑制(NMS)来消除边缘响应的假阳性以及应用双阈值检测和边缘连接。高斯金字塔主要用于图像的多尺度表示。Sobel算子是一种用于边缘检测的图像梯度算子,它通过计算图像亮度的空间梯度来突出显示图像中的边缘。在实践中,Sobel算子通过卷积框架应用于图像,分别计算x和y方向上的梯度,然后根据需要可能会结合这两个方向的梯度来得到边缘的完整表示。原创 2024-04-16 00:14:35 · 631 阅读 · 0 评论 -
OpenCV(python)从入门到精通——颜色空间转换
OPencv默认颜色空间为BGR正常图像一般显示为RGBimport cv2src = cv2.imread(r"./images/1.jpg")# 转为RGB格式dst1 = cv2.cvtColor(src,cv2.COLOR_BGR2RGB)# 转移为Gray格式dst2 = cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)# 转移为HSVdst3 = cv2.cvtColor(src,cv2.COLOR_BGR2HSV)cv2.imshow(".原创 2021-07-13 21:38:31 · 189 阅读 · 0 评论 -
OpenCV从入门到精通实战(三)——全景图像拼接
特征点检测与描述子计算使用 SIFT 算法检测图像的关键点,并计算每个点的描述子。这一步是识别图像中的特征并提取有用信息的关键步骤。特征点匹配使用 KNN 和比值测试来筛选良好的匹配点。这一步是确保两图中对应的特征点确实相似,为后续的图像对齐打下基础。计算单应性矩阵并进行图像变换使用 RANSAC 算法基于匹配点对计算单应性矩阵,这一矩阵能够描述一张图像到另一张图像的透视变换。使用该矩阵通过透视变换将一张图像变形,使其与另一张图像对齐。图像拼接。原创 2024-04-17 23:07:29 · 1653 阅读 · 1 评论 -
OpenCV基本图像处理操作(六)——直方图与模版匹配
模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与(图像被模板覆盖的地方)的差别程度,这个差别程度的计算方法在opencv里有6种,然后将每次计算的结果放入一个矩阵里,作为结果输出。假如原图形是AxB大小,而模板是axb大小,则输出结果的矩阵是(A-a+1)x(B-b+1)原创 2024-04-16 01:43:47 · 555 阅读 · 0 评论 -
OpenCV从入门到精通实战(四)——答题卡识别判卷系统
实现答题卡识别系统中的各个功能。每个步骤都是自动化处理的关键部分,确保系统能够准确地读取和评分答题卡。通过这样的方式,可以大大减少人工操作的需求,提高评分的效率和准确性。原创 2024-04-18 00:45:54 · 2641 阅读 · 0 评论 -
OpenCV(python)从入门到精通——threshold阈值算法
阈值化函数我的理解为,在计算机图像视觉中,我们常见的RGB图像表现的信息过多,可能会存在于一些掺杂的噪声(因为针对视觉目标不是我们需要的),因此使用阈值算法,直接效果就是可以降噪,特征更加的明显化。一般使用灰度图,需要使用单通道的图片才可以进行阈值化,针对RGB或者HSV格式的图片,我们需要进行灰度化操作才可以进行阈值算法的使用。import cv2 as cvimg = cv.imread("./images/1.jpg")gray = cv.cvtColor(img,cv.COLOR_.原创 2021-07-12 22:09:44 · 1666 阅读 · 0 评论 -
OpenCV基本图像处理操作(七)——背景建模
由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。在测试阶段,对新来像素点的值与混合高斯模型中的每一个均值进行比较,如果其差值在2倍的方差之间的话,则认为是背景,否则认为是前景。将前景赋值为255,背景赋值为0。3.当后面来的像素值时,与前面已有的高斯的均值比较,如果该像素点的值与其模型均值差在3倍的方差内,则属于该分布,并对其进行参数更新。原创 2024-04-17 21:31:56 · 873 阅读 · 0 评论 -
OpenCV从入门到精通实战(五)——dnn加载深度学习模型
从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程。原创 2024-04-18 01:03:39 · 860 阅读 · 0 评论 -
OpenCV基本图像处理操作(一)——图像基本操作与形态学操作
图像基本操作; 图像形态学处理;原创 2024-04-15 21:44:09 · 1872 阅读 · 0 评论 -
OpenCV基本图像处理操作(九)——特征匹配
虽然Brute-Force匹配方法在小型或中等复杂度的数据集上可以非常有效,但它的计算成本随着特征点数量的增加而显著增加,这可能导致在大规模数据集上的性能问题。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。:在蛮力匹配中,源图像的每个特征点的描述符都会与目标图像中每个特征点的描述符进行比较。:对提取出的每个特征点生成一个描述符,这个描述符捕捉了特征点周围的图像信息,通常是通过一定的算法(如SIFT、SURF或ORB等)来实现。:首先,从两个待比较的图像中提取关键特征点。原创 2024-04-17 22:00:41 · 1547 阅读 · 0 评论 -
OpenCV基本图像处理操作(八)——光流估计
它基于这样的假设:在连续的视频帧之间,一个物体的移动会导致像素强度的连续性变化。空间一致:一个场景上邻近的点投影到图像上也是邻近点,且邻近点速度一致。小运动:随着时间的变化不会引起位置的剧烈变化,只有小运动情况下才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数。光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”,根据各个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪。status 特征点是否找到,找到的状态为1,未找到的状态为0。实现光流估计的方法有很多,包括。原创 2024-04-17 21:43:53 · 609 阅读 · 0 评论 -
OpenCV从入门到精通实战(二)——文档OCR识别(tesseract)
对四个坐标点进行排序,确定文档的四个角(左上,右上,右下,左下)。使用欧氏距离来计算和排序点。# 一共4个坐标点# 按顺序找到对应坐标0123分别是 左上,右上,右下,左下# 计算左上,右下# 计算右上和左下此函数用于排序提供的四个点,确保点的顺序为左上、右上、右下和左下,这对后续的透视变换非常重要。使用cv2.getPerspectiveTransform和cv2.warpPerspective来计算变换矩阵并应用# 获取输入坐标点# 计算输入的w和h值# 变换后对应坐标位置。原创 2024-04-17 21:21:32 · 1588 阅读 · 0 评论 -
OpenCV基本图像处理操作(四)——傅立叶变换
opencv中主要就是cv2.dft()和cv2.idft(),输入图像需要先转换成np.float32 格式。cv2.dft()返回的结果是双通道的(实部,虚部),通常还需要转换成图像格式才能展示(0,255)。得到的结果中频率为0的部分会在左上角,通常要转换到中心位置,可以通过shift变换来实现。高通滤波器:只保留高频,会使得图像细节增强。低频:变化缓慢的灰度分量,例如一片大海。低通滤波器:只保留低频,会使得图像模糊。高频:变化剧烈的灰度分量,例如边界。原创 2024-04-16 00:31:39 · 389 阅读 · 0 评论 -
OpenCV从入门到精通实战(一)——模板匹配实现信用卡号识别
信用卡识别轮廓模板显示模板图像模板转灰度图转阈值计算轮廓轮廓排序并且保留显示图像转灰度图进行礼帽操作Sobel边缘算子闭操作 补洞轮廓排序结果依次识别轮廓模板识别出来的数字需要比对,需要找个模板对应一下。# 导入工具包import argparseimport cv2import numpy as npfrom imutils import contoursimport myutilsimport cv2def sort_contours(cnts, method="left-to原创 2021-11-19 17:27:48 · 846 阅读 · 0 评论 -
OpenCV基本图像处理操作(三)——图像轮廓
method:轮廓逼近方法。mode:轮廓检索模式。原创 2024-04-16 00:25:25 · 548 阅读 · 0 评论 -
OpenCV从入门到精通实战(六)——多目标追踪
在OpenCV中,有多种对象追踪器可用。我们将它们存储在一个字典中,便于后续使用。import cv2# 配置参数# opencv已经实现了的追踪算法# 实例化OpenCV's multi-object tracker# 视频流# 取当前帧# 到头了就结束break# resize每一帧width=600# 追踪结果# 绘制区域# 显示# 选择一个区域,按s# 创建一个新的追踪器# 退出break。原创 2024-04-18 01:36:42 · 857 阅读 · 0 评论 -
OpenCV基本图像处理操作(十)——图像特征harris角点
角点是图像中的一个特征点,指的是两条边缘交叉的点,这样的点在图像中通常表示一个显著的几角。在计算机视觉和图像处理中,角点是重要的特征,因为它们通常是图像中信息丰富的区域,可以用于图像分析、对象识别、3D建模等多种应用。角点的识别可以帮助在进行图像匹配和跟踪时提供稳定的参考点,这是因为角点在图像中的位置比较容易通过算法检测出来,且不易受到视角变化的影响。Harris 角点检测是一种流行的角点检测算法,用于从图像中识别出角点的位置,即图像中两条边交叉的特征点。如果响应函数的值超过某个阈值,则该点被认为是角点。原创 2024-04-17 22:39:59 · 1248 阅读 · 0 评论 -
OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算
使用定义了包含68个点的面部关键点,用于眼部分析。])此函数计算眼部的纵横比,用于判断眼睛是否闭合。return ear。原创 2024-04-18 02:11:35 · 594 阅读 · 4 评论 -
OpenCV从入门到精通实战(七)——探索图像处理:自定义滤波与OpenCV卷积核
接下来,我们实现一个名为convolve的函数,该函数接收一个图像和一个卷积核作为输入,并返回卷积后的结果。# 输入图像和核的尺寸# 选择pad,卷积后图像大小不变# 重复最后一个元素,top, bottom, left, right# 卷积操作# 提取每一个卷积区域# 内积运算# 保存相应的结果# 将得到的结果放缩到[0, 255]原创 2024-04-18 01:52:59 · 559 阅读 · 0 评论