opencv-图像处理
文章平均质量分 70
图像的基本处理及案例
Tc.小浩
这个作者很懒,什么都没留下…
展开
-
opencv实战0-OCR文档扫描识别
直接上代码# 导入工具包import numpy as npimport argparseimport cv2def order_points(pts): # 一共4个坐标点 rect = np.zeros((4, 2), dtype = "float32") # 按顺时针顺序找到对应坐标0123分别是 左上,右上,右下,左下 # 计算左上,右下 s = pts.sum(axis = 1) rect[0] = pts[np.argmin(s)] rect[2] = pts[np.a原创 2022-04-11 10:53:22 · 3153 阅读 · 0 评论 -
opencv-图像融合拼接
文章目录带拼接图片基于SIFT特征点和RANSAC方法得到的图像特征点匹配结果图像变换结果完整代码带拼接图片基于SIFT特征点和RANSAC方法得到的图像特征点匹配结果图像变换结果完整代码# 读取图像import cv2 #opencv读取的格式是BGRimport matplotlib.pyplot as pltimport numpy as np img=cv2.imread('right.jpg')img2=cv2.imread('left.jpg')def det原创 2022-03-10 19:28:25 · 695 阅读 · 0 评论 -
opencv-模板匹配
文章目录模板匹配多个模板匹配模板匹配模板匹配在图像处理中经常使用,该算法主要用于寻找图像中与模板图像相同的区域。此外,也用于图像定位,通过模板匹配找到指定的位置,然后进行后续的处理。模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与(图像被模板覆盖的地方)的差别程度,这个差别程度的计算方法在opencv里有6种,然后将每次计算的结果放入一个矩阵里,作为结果输出。假如原图形是AxB大小,而模板是axb大小,则输出结果的矩阵是(A-a+1)x(B-b+1)在进行模板匹配的时候,需要先制作模原创 2022-02-21 17:30:12 · 1082 阅读 · 0 评论 -
opencv-轮廓检测
文章目录轮廓检测1.1轮廓检测的作用:1.2方法1.3轮廓特征1.4轮廓近似1.5边界矩阵轮廓检测1.1轮廓检测的作用:可以检测图图像或者视频中物体的轮廓计算多边形边界,形状逼近和计算感兴趣区域1.2方法为了更精确地提取轮廓,请使用二值图。也就是说,在使用轮廓提取函数前,请将源图片运用阈值进行二值化(cv2.threshold())或者采用Canny边缘检测。findContours 函数会修改源图片,如果希望在轮廓检测后继续使用源图片,务必提前保存在另一个变量中。在OpenCV中,轮原创 2022-02-17 15:39:26 · 3647 阅读 · 0 评论 -
opencv-图像金字塔
文章目录图像金字塔1.1高斯金字塔(Gaussian pyramid)代码1.2拉普拉斯金字塔(Laplacian pyramid)图像金字塔图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。图像金字塔最初用于机器视觉和图像压缩,一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层原创 2022-02-16 15:29:54 · 275 阅读 · 0 评论 -
opencv-边缘检测
文章目录一、Canny边缘检测1.1高斯滤波器2.1梯度和方向3.1非极大值抑制4.1双阈值检测一、Canny边缘检测Canny边缘检测器是一种被广泛使用的算法,并被认为是边缘检测最优的算法,该方法使用了比高斯差分算法更复杂的技巧,如多向灰度梯度和滞后阈值化步骤1.平滑图像:使用高斯滤波器与图像进行卷积,平滑图像,以减少边缘检测器上明显的噪声影响。使用高斯滤波器,以平滑图像,滤除噪声。2.计算图像的梯度和方向:图像中的边缘可以指向各个方向,这里计算图像的梯度,并将梯度分类为垂直、水平和斜对角。原创 2022-01-31 15:38:13 · 504 阅读 · 0 评论 -
opencv-图像平滑处理
文章目录1、概念2、滤波2.1均值滤波2.2高斯滤波(标准正态分布)2.3中值滤波1、概念图像平滑是一种区域增强的算法,平滑算法有邻域平均法、中指滤波、边界保持类滤波等。在图像产生、传输和复制过程中,常常会因为多方面原因而被噪声干扰或出现数据丢失,降低了图像的质量(某一像素,如果它与周围像素点相比有明显的不同,则该点被噪声所感染)。这就需要对图像进行一定的增强处理以减小这些缺陷带来的影响。图像平滑从信号处理的角度看就是去除其中的高频信息,保留低频信息。因此我们可以对图像实施低通滤波。低通滤波可以去除图原创 2022-01-19 21:38:43 · 4429 阅读 · 1 评论 -
opencv-图像阈值
文章目录1.简单阈值:图像阈值1.简单阈值:当像素高于阈值时,我们给这个像素赋予新值,(可能白色)否则我们给其赋予另外一个新值(可能黑色)使用到的函数:cv2.threshold(原图像(原图像是灰度图),(用来对像素值进行分类的阈值),(当像素值高于阈值时,应该赋予的新值),openCV中提供多种不同阈值的方法))cv2.threshhold参数四,这些方法包括:ret, dst = cv2.threshold(src, thresh, maxval, type)src: 输入原创 2022-01-19 10:47:22 · 3490 阅读 · 0 评论 -
opencv-图像梯度
文章目录1、图像梯度1.1图像梯度-Sobel算子1.2Scharr算子1.3laplacian算子1.4三种算法比较1、图像梯度梯度简单来说就是求导。OpenCV 提供了三种不同的梯度滤波器,或者说高通滤波器: Sobel,Scharr 和 Laplacian。其中Sobel,Scharr 是求一阶导数。Scharr 是对 Sobel(使用小的卷积核求解求解梯度角度时)的优化,而 Laplacian 是求二阶导数。1.1图像梯度-Sobel算子原理Sobel算子是高斯平滑和微分操作的结合体,所原创 2022-01-23 16:40:08 · 3806 阅读 · 0 评论 -
opencv-图像基本操作
图片由很多个像素点组成的,彩色图的三通道RGB,每个通道的值在【0文章目录一、数据读取-图像二、视频读取三、截取部分图像数据四、函数通道提取五、边界填充六、数值计算七、图像融合一、数据读取-图像cv2.IMREAD_COLOR:彩色图像cv2.IMREAD.GRAYSCALE:灰度图像import cv2 #opencv读取的格式是BGRimport matplotlib.pyplot as pltimport numpy as np #在jupyter notebook中特别的显示图片.原创 2022-01-18 16:55:42 · 1529 阅读 · 0 评论 -
opencv形态学-腐蚀、膨胀讲解实例代码
文章目录一、形态学1.1腐蚀1.2膨胀1.3开操作1.4闭操作1.5梯度1.6礼/顶帽(Top hat)1.8黑帽(Black hat)一、形态学图像形态学中的几个基本操作:腐蚀、膨胀、开操作、闭操作。1.1腐蚀结构A被结构B腐蚀的定义为。可以理解为,移动结构B,如果结构B与结构A的交集完全属于结构A的区域内,则保存该位置点,所有满足条件的点构成结构A被结构B腐蚀的结果。A⨀B={z|(B)z⊆A}A⨀B={z|(B)z⊆A}腐蚀原理:模板系数均为1,进行最小值滤波,就是将模板对应的最小值设置为原创 2022-01-23 15:47:54 · 1957 阅读 · 1 评论 -
神经网络-BatchNorm2d
文章目录一、BatchNorm2d()理解一、BatchNorm2d()理解基本原理在卷积神经网络的卷积层之后总会添加BatchNorm2d进行数据的归一化处理,这使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定,BatchNorm2d()函数数学原理如下:BatchNorm2d()内部的参数如下:1.num_features:一般输入参数为batch_sizenum_featuresheight*width,即为其中特征的数量2.eps:分母中添加的一个值,目的是为了计算的稳定原创 2021-10-10 16:53:34 · 941 阅读 · 0 评论 -
OpenCV-图像处理(2)_图像阈值与平滑处理
一、灰度图import cv2 #opencv读取的格式是BGRimport numpy as npimport matplotlib.pyplot as plt#Matplotlib是RGB%matplotlib inline img=cv2.imread('cat.jpg')#转换成灰度图img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)img_gray.shape(414, 500)cv2.imshow("img_gray", img_原创 2021-06-09 22:07:16 · 288 阅读 · 1 评论 -
OpenCV-模板匹配
课件链接:https://pan.baidu.com/s/18oBu0YoFmNWXNGi8VzVp-g提取码:a6b8一、模板匹配-模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与(图像被模板覆盖的地方)的差别程度,这个差别程度的计算方法在opencv里有6种,然后将每次计算的结果放入一个矩阵里,作为结果输出。-假如原图形是AxB大小,而模板是axb大小,则输出结果的矩阵是(A-a+1)x(B-b+1)匹配的原则:从左往右,从上往下import cv2 #opencv读取的格原创 2021-06-05 15:34:48 · 496 阅读 · 1 评论 -
OpenCV-图像处理(1)
Canny边缘检测使用高斯滤波器,以平滑图像,滤除噪音计算图像中每个像素点的梯度强度和方向应用非极大值抑制,以消除边缘检测带来的杂散响应应用双阈值检测来确定真正的和潜在的边缘通过抑制孤立的弱边缘最终完成边缘检测...原创 2021-06-05 11:11:28 · 150 阅读 · 1 评论 -
OpenCV图像的基本操作
图像基本操作环境配置地址Anaconda:Anaconda:https://www.anaconda.com/download/Python_whl:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv资料链接:复制这段内容后打开百度网盘App,操作更方便哦。 链接:https://pan.baidu.com/s/1nBs0RGffKamNNA4OlBIKdQ 提取码:3qp8图像有很多像素点组成,RGB三通道,每个相当于一个矩阵,根据图像的像素原创 2021-06-02 22:56:24 · 212 阅读 · 1 评论 -
OpenCV实战项目-信用卡号识别
复制这段内容后打开百度网盘App,操作更方便哦。 链接:https://pan.baidu.com/s/1BBKW066TZ9X1WAZd8wjwyg 提取码:3i3l1、提取代码文件之后,把中文文件名改为英文,不然运行会报错2、在pycharm中打开后,先导入代码缺失的包from imutils import contoursimport numpy as npimport argparseimport cv2import myutils3、配置图片的参数点击此处之后点击Edit原创 2021-05-30 17:02:05 · 210 阅读 · 0 评论 -
图像特征-sift
Scale Invariant Feature Transform(SIFT)图像尺度空间在一定的范围内,无论物体是大还是小,人眼都可以分辨出来,然而计算机要有相同的能力却很难,所以要让机器能够对物体在不同尺度下有一个统一的认知,就需要考虑图像在不同的尺度下都存在的特点。尺度空间的获取通常使用高斯模糊来实现不同σ的高斯函数决定了对图像的平滑程度,越大的σ值对应的图像越模糊。多分辨率金字塔其中第三个参数为高斯模糊数值高斯差分金字塔(DOG)这些候选关键点是DOG空间的局部极值点,而且原创 2021-05-29 15:04:41 · 78 阅读 · 0 评论 -
图卷积在动作识别方向的应用-STGR
STGR: Spatio-temporal graph routing for skeleton-based action recognition(AAAI, 2019)STGR:基于骨架的动作识别的时空图路由(AAAI,2019)本文从时间和空间的角度设计了邻接矩阵计算方法,以计算节点之间的时间和空间关系。虽然设计了较为复杂的邻接矩阵策略,但效果并不如2S-AGCN空间图路由子网络首先根据一种无参数图划分策略,将每一帧的原始图划分为K个子图。将每个子图都当成强连通图,这样就能得到空间图序列:强连原创 2021-05-17 22:45:27 · 542 阅读 · 0 评论 -
图的基本介绍
图的基本定义由于图在数据结构这门课中有介绍,在这里不再讲述。1、图中心性•度中心性 Degree Centrality• 特征向量中心性 Eigenvector Centrality• 中介中心性 Betweenness Centrality• 连接中心性 Closeness Centrality(1)度中心性计算公式以上图中刘备为例,度为6,图的节点数为10(2)特征向量中心性 Eigenvector CentralityA∗????= ????∗????特征向量中心性原创 2021-05-17 17:28:07 · 612 阅读 · 0 评论 -
图卷积在动作识别方向的应用
学习参考:阅读原文典型的 part-based 方法,将人体骨架分为多个子图,定义了子图内部和子图之间的信息传播方式,这样便能更好的抽取局部关节信息,同时加快信息传播速度。数据增强何(geometric)特征与动力学(kinematic)特征这里的几何信息就是骨骼特征(包含非骨骼连接),即在空间上计算相邻关节坐标差值,动力学特征就是运动特征,通过计算相邻帧对应关节的差值得到。基于局部划分的图卷积(PBGC)首先将人体骨架图分为多个子图:并且保证相邻两个子图间至少有一个公共关节。然后对每个节原创 2021-05-17 10:28:50 · 635 阅读 · 2 评论 -
ST-GCN
ST-GCNIntroductionThis repository holds the codebase, dataset and models for the paper:此存储库包含论文的代码库、数据集和模型Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition Sijie Yan, Yuanjun Xiong and Dahua Lin, AAAI 2018. [Arxiv Prep原创 2021-05-15 21:34:28 · 1320 阅读 · 1 评论