计算机视觉
文章平均质量分 74
本专栏总结计算机视觉领域的相关知识。
lovetaozibaby
这个作者很懒,什么都没留下…
展开
-
滤波算法 | 无迹卡尔曼滤波(UKF)算法及其Python实现
上一篇文章,我们介绍了UKF滤波公式及其MATLAB代码。在做视觉测量的过程中,基于OpenCV的开发包比较多,因此我们将UKF的MATLAB代码转到python中,实现数据滤波效果。UKF滤波公式及其MATLAB代码这里简单把上一篇文章的公式和流程图粘贴一下。原创 2023-03-10 18:08:10 · 6104 阅读 · 21 评论 -
CV | 图像处理、目标检测之各种方法总结
文章目录简介总结1. 图像特征提取的方法2. 直线检测的方法3. 区域生长算法简介这篇博客想写的东西非常杂,到现在我还不知道应该怎么组织或者说怎么把想写的东西贯穿起来。最开始,我是想看一些矩形检测的算法,比较传统的肯定是基于HOUGH变换,基于角点,然后考虑角度、对边等矩形的特征,限制数据点;接着,我想知道,除了霍夫和角点,有没有别的,易于检测的特征,能够让我借用在矩形检测算法上,或者,能否对算法本身做一些改进或者融合,于是,我看到了Harr特征,并且看到了一些类似区域生长和霍夫结合的方法;然后,原创 2020-08-21 17:14:05 · 1258 阅读 · 0 评论 -
CV | 区域生长算法
文章目录3. 区域生长算法基础灰度差值的区域生长算法3. 区域生长算法摘自:图像中区域生长算法的详解和实现OpenCV-区域生长算法区域生长算法基础图像分割是一种重要的图像处理技术,而区域生长是图像分割技术的鄂一种。区域生长算法的基本思想是将有相似性质的像素点合并到一起。对每一个区域要先指定一个种子点作为生长的起点,然后将种子点周围领域的像素点和种子点进行对比,将具有相似性质的点合并起来继续向外生长,直到没有满足条件的像素被包括进来为止。这样一个区域的生长就完成了。给定种子点(种子点如何原创 2020-08-21 17:10:55 · 693 阅读 · 0 评论 -
CV | 直线检测的方法
文章目录2. 直线检测的方法a. 霍夫直线检测b. LSD直线检测——划重点优缺点对比2. 直线检测的方法a. 霍夫直线检测摘自:LSD直线检测和霍夫线变换的学习建议在霍夫变换后,(ρ,θ)就是一对霍夫空间的变量表示。直角坐标系中一个点(x0,y0)可以代表360°的直线的其中一个点,我们把这个点旋转360°的直线都用极坐标(ρ,θ)表达出来,就是一个在霍夫空间(ρ,θ)的正弦曲线(大家想象一下,一个点的360°的直线的(ρ,θ)都不一样,不一样的(ρ,θ)组成了正弦曲线上的点)。同样,直线上的其原创 2020-08-21 17:10:02 · 4820 阅读 · 0 评论 -
CV | 图像特征提取的方法
文章目录1. 图像特征提取的方法a. 霍夫变换b. Harris角点c. Harr特征Harr-Like特征Harr分类器1. 图像特征提取的方法a. 霍夫变换摘自:霍夫变换(强烈推荐的博客,写的非常通俗易懂)首先,用极坐标系表示直线,那么直线的检测就变为了检测直线的参数:p,theta。接着转换到霍夫空间,笛卡尔坐标系的一个直线,变为霍夫空间的一个点,点出现的频次越高,说明为直线的概率越大。霍夫变换的算法步骤:b. Harris角点参见博客:OpenCV计算机视觉实战(Python原创 2020-08-21 17:08:41 · 1427 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 14、项目实战:停车场车位识别
文章目录简介总结1、项目介绍2、步骤3、程序简介本节为《OpenCV计算机视觉实战(Python)》版第14讲,项目实战:停车场车位识别,的总结。总结1、项目介绍统计:有多少停车位哪些个停车位被占据,哪些个停车位没有被占据2、步骤预处理3、程序Parking.py:main.py:from __future__ import divisionimport matplotlib.pyplot as pltimport cv2import os,globimpor原创 2020-08-06 18:48:03 · 2015 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 13、项目实战:全景图像拼接
文章目录简介一、特征匹配总结1、 蛮力匹配(Brute-Force)介绍程序2、随机抽样一致算法(RANSAC)二、项目实战——图像拼接1、步骤2、程序重点总结简介本节为《OpenCV计算机视觉实战(Python)》版第13讲,项目实战:全景图像拼接,的总结。一、特征匹配总结1、 蛮力匹配(Brute-Force)介绍比较任意两个特征之间的距离(归一化欧氏距离),给定参数K,可以输出距离最小的K个匹配项。程序import cv2import numpy as npimport matpl原创 2020-08-01 15:58:40 · 1257 阅读 · 2 评论 -
OpenCV计算机视觉实战(Python)| 12、SIFT图像特征
文章目录简介总结1. SIFT介绍图像尺度空间多分辨率金字塔高斯差分金字塔(DOG)关键点的精确定位消除边界相应特征点的主方向生成特征描述构造特征2. OpenCV程序简介本节为《OpenCV计算机视觉实战(Python)》版第12讲,SIFT图形特征,的总结。总结1. SIFT介绍SIFT全称:Scale Invariant Feature Transform首先介绍图像尺度空间的定义。图像尺度空间在一定的范围内,无论物体是大还是小,人眼都可以分辨出来,然而计算机要有相同的能力却很难,所以原创 2020-08-01 14:51:31 · 450 阅读 · 2 评论 -
OpenCV计算机视觉实战(Python)| 11、Harris角点检测
文章目录简介总结Harris角点检测1. 角点介绍定义相关的数学知识边界、平面和角点的数学定义2. 算法流程3. 程序示例OpenCV示例简介本节为《OpenCV计算机视觉实战(Python)》版第11讲,Harris角点检测,的总结。总结Harris角点检测1. 角点介绍定义角点定义:不管是在竖直还是水平方向移动,像素值都发生剧烈的变化。图中,E和F是角点,C和D是边界但不是角点。相关的数学知识计算机如何识别角点:针对图像中的某个像素点I(x,y),移动后灰度级的变化情况(同时原创 2020-07-29 16:26:37 · 422 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 10、项目实战:文档扫描OCR识别
文章目录简介总结1. 介绍2. 流程3. 程序4. 知识点总结简介本节为《OpenCV计算机视觉实战(Python)》版第10讲,项目实战:文档扫描OCR识别,的总结。总结1. 介绍识别图像中的所有的字符(汉字、英语等字体)。2. 流程边缘检测:预处理 + 边缘检测轮廓检测:对检测到的轮廓进行排序,排序可以按照轮廓面积的大小,然后得到最大的轮廓(跟图像大小相同的轮廓),轮廓近似,得到四个点的轮廓。透视变换:将2维坐标值[x,y]转化为三维齐次坐标[x,y,1],新的坐标[X,Y,原创 2020-07-28 17:35:22 · 1328 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 9、项目实战:信用卡数字识别
文章目录简介总结1.介绍2. 流程3. 程序简介本节为《OpenCV计算机视觉实战(Python)》版第9讲,项目实战:信用卡数字识别,的总结。总结1.介绍从一个银行卡中识别其中的银行卡号:2. 流程首先,创建模板图像,对模板进行边缘检测、轮廓检测,得到10个数字分别对应的模板。 模板图像包括0-9共10个数,在匹配的时候,分别提取10个模板,将输入的图像中的数分别与模板图像做匹配,得到最小误差的模板,即为该图像的数字;模板:预处理:轮廓检测:接着,输入图像(银行卡),灰度图,二原创 2020-07-28 15:47:02 · 1040 阅读 · 1 评论 -
OpenCV计算机视觉实战(Python)| 8、直方图与傅里叶变换
文章目录简介总结1. 直方图直方图示例一示例二mask操作直方图均衡化自适应直方图均衡化2. 傅里叶变换介绍应用OpenCV程序简介本节为《OpenCV计算机视觉实战(Python)》版第8讲,直方图与傅里叶变换,的总结。总结1. 直方图像素点的统计值:直方图OpenCV代码:cv2.calcHist(image, channels, mask, histSize, ranges)images: 原图像图像格式为uint8或float32,当传入函数时,应用中括号[]来表示,例如[im原创 2020-07-28 13:53:55 · 312 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 7、图像金字塔与轮廓检测
文章目录简介总结图像金字塔高斯金字塔介绍高斯金字塔程序拉普拉斯金字塔拉普拉斯程序图像轮廓轮廓检索轮廓检索程序轮廓近似边界矩形外接圆模板匹配匹配多个对象简介本节为《OpenCV计算机视觉实战(Python)》版第6讲,边缘检测(Canny边缘检测),的总结。总结图像金字塔高斯金字塔拉普拉斯金字塔金字塔的每一层特征可以采取不同的方式获得,这样每一层的特征都不同。高斯金字塔介绍高斯金字塔:向下采样放方法(缩小)高斯金字塔:向上采样方法(扩大)将图像在每个方向扩大为原来的两倍,新增原创 2020-07-25 23:18:36 · 532 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 04、图像形态学处理
文章目录简介总结形态学-腐蚀操作形态学-膨胀操作形态学-开/闭操作开运算闭运算梯度运算礼帽和黑帽简介本节为《OpenCV计算机视觉实战(Python)》版第四讲,图像形态学处理,的总结。总结形态学-腐蚀操作img = cv2.imread('dige.png')cv2.imshow('img',img)cv2.waitKey(0)cv2.destroyAllWindows()kernel = np.ones((5,5), np.unit8)erosion = cv2.erode(pi原创 2020-07-25 14:41:00 · 208 阅读 · 1 评论 -
OpenCV计算机视觉实战(Python)| 03、阈值与平滑处理
文章目录简介总结图像阈值图像平滑均值滤波方框滤波高斯滤波中值滤波简介本节为《OpenCV计算机视觉实战(Python)》版第三讲,阈值与平滑处理,的总结。总结图像阈值ret, dst = cv2.threshold(src, thresh, maxval, type)src: 输入图,只能输入单通道图像,通常来说为灰度图dst: 输出图thresh: 阈值maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值type: 二值化操作的类型,包含以下5种类型:原创 2020-07-25 11:05:07 · 502 阅读 · 0 评论 -
OpenCV计算机视觉实战(Python)| 02、图像基本操作
题目索引简介总结图像数据读取图像显示和保存图像一些简单操作图像灰度化图像尺寸的计算图像类型图像大小图像类型视频读取截取部分图像数据颜色通道提取颜色通道合并只保留某个通道边界填充数值计算图像缩放图像融合简介本节为《OpenCV计算机视觉实战(Python)》版第二讲,图像基本操作,的主要内容以及讲解,按顺序。总结图像数据读取cv2.IMREAD_COLOR:彩色图像cv2.IMREAD_GRAYSCALE:灰度图像import cv2import matplotlib.pyplot as原创 2020-07-24 23:17:44 · 417 阅读 · 0 评论 -
CV | Siamese网络
简介今年的CVPR大会看到了好多带“siamese”关键词或者同类的词的文章,之前不了解这个网络,今学习并总结如下。以后学习到新的与之有关的网络再行更新。1. Siamese网络Siamese网络:通过网络学习到两个图片之间的相似度函数。算法的原理利用神经网络提取描述算子,得到特征向量,然后利用两个图片的特征向量判断相似度,这个有点像sift,只不过是利用CNN进行提取特征,并且用特征向量进行构造损失函数,进行网络训练。见:详解Siamese网络感觉这篇博客介绍该网络的作用,损失函数等非常通俗原创 2020-07-09 17:39:55 · 396 阅读 · 0 评论 -
CV | 梯度下降法(总结)
简介梯度下降法中,使用最广泛的应该是随机梯度下降法(SGD),之前不了解,所以没有用过其他的方法,今天想巩固原理的时候看到一些博主的介绍,觉得非常详细,归纳如下。摘自:https://www.zhihu.com/question/3056389401. 直观理解如何求f(x) = x^2 的极小值?按照它们单调性来分主要有二种情况:x<0时单调下降,此时倒数为负,增大x函数值下降;x>0时单调上升,此时倒数为正,减小x函数值下降。因此,求极小值的梯度下降法为:同理,极大值的求法转载 2020-07-09 15:47:52 · 349 阅读 · 0 评论 -
CV | 传统的计算机视觉与基于深度学习的计算机视觉的区别(简述)
简介做计算机视觉也已经很久了,说起来接触深度学习的时间却并不是很多。在这一年的时间里,阅读的最新的文献确实大部分都与深度学习相关,这其实给人带来了很大的困惑。——是否,在未来,计算机视觉就一定要做深度学习?我从网上搜集了一下别人的看法。当然,如果你直接搜索“计算机视觉”,十条检索里有9条半都会涉及到“深度学习”。我从中看到了一篇博客(为什么深度学习仍未取代传统的计算机视觉技术?),18年发表,放到现在可能会有一定的过时,但是还是能体会到不同的关于概念上的区别。在这里摘取并总结有关**“传统的计算机视觉”原创 2020-07-07 10:24:17 · 4218 阅读 · 1 评论 -
目标跟踪 | 目标跟踪算法总结
简介占个坑,等答辩结束后来把总结发上来。1. 定义2. 算法3. 总结原创 2019-12-21 20:51:15 · 14475 阅读 · 3 评论 -
CV | Python+OpenCV 提取avi和mp4格式视频中的关键帧
简介最近在处理实验数据,做实验得到一堆视频文件,想从中选择有用的图像文件,网上找到了一些将视频文件按帧提取为静态图像的程序。1. OpenCV 处理 .avi文件转自:https://blog.csdn.net/qq_42393859/article/details/86572670问题描述:使用OpenCV把AVI视频切分成静态图像,提取视频中的关键帧,保存为0.jpg、1.jpg、2...转载 2019-05-05 11:10:25 · 5255 阅读 · 4 评论 -
CV | Python + OpenCV 提取AVI视频中关键帧图像(修改版)
简介从 OpenCV+PILLOW 提取AVI视频中关键帧图像 找到了一段使用OpenCV把AVI视频切分成静态图像,提取视频中的关键帧的程序,但是实际测试时,发现有一个问题。视频里面原本的程序是彩色的(比如说模型表现是镀金的),但是按照该程序运行后,出来的图像变色了(金色的表面变为蓝色了),搜了好久没有找到原因。但是找到了解决办法,这里贴出改正后的程序。程序import cv2def...原创 2019-05-09 01:24:03 · 2197 阅读 · 0 评论 -
CV | python使用opencv或matplotlib把多张图片显示在一个窗口内的方法
转自: https://blog.csdn.net/ITBigGod/article/details/870090821. 单纯的用cv2.imshow打开多个窗体比如你某个文件夹下有多张图片,你不想imshow一张一张的显示,你想放在一个窗口中显示。或者是把多张图片放在一个窗体内对比展示,而不是同时打开多个窗体。如果用单纯的用cv2.imshow打开多个窗体来显示多张图片是这样: ...转载 2019-05-21 10:01:33 · 16877 阅读 · 6 评论 -
CV | Python + OpenCV从视频中提取“指定帧”
简介其实已经写过两篇关于从视频中提取关键帧的博客了。但是今天把代码又修改完善了一下,感觉比之前的几个版本都好(哈哈自夸中。。。),因此再次贴出利用OpenCV从视频中提取关键帧的Python代码。程序功能:自动的读取指定文件夹下的所有文件,并且按照文件类型和名称的不同,提取该文件夹下所有视频,并按照名称的不同,分类保存从视频中提取的关键帧。import cv2import os# ...原创 2019-05-13 16:43:07 · 14560 阅读 · 11 评论 -
DL | YOLOv3+Faster R-CNN+SSD训练和测试自己的数据
首先制作自己的数据集—VOC2007数据集制作,接下来就可以开始搞事情了…一:YOLOv3相关官网:YOLO: Real-Time Object Detection进化之路:YOLO v1,YOLO v2,YOLO9000算法总结与源码解析系统学习深度学习(三十二)–YOLO v1,v2,v3原理部分:目标检测网络之 YOLOv3YOLOv3 资源合集yolo3源码分析YOL...转载 2019-05-29 09:55:02 · 435 阅读 · 0 评论 -
CV | 聚类算法小结
转载自:https://blog.csdn.net/xzfreewind/article/details/737703271.1 聚类和分类分类就是按照某种标准给对象贴标签(label),再根据标签来区分归类。聚类是指事先没有标签,而通过某种成团分析找出事物之间存在聚集性原因的过程。区别是,分类是事先定义好类别,类别数不变。分类器需要人工标注的分类训练语料训练得到,属于有指导范畴。聚类则是...转载 2019-07-03 00:39:47 · 804 阅读 · 0 评论 -
CV | 运动目标检测 之 背景差分法
简介最近开始上手运动目标检测和跟踪,对于传统的目标检测算法比如帧差法、背景差分法、光流法之类的,从理论上学习了无数次,但是从来没有见到过程序长什么样。导致学一遍忘一遍。准备把这几类方法和程序归纳和学习一下,好记性不如烂笔头,有备无患。背景差分法转自:https://www.jianshu.com/p/58c6ca1b66af1. 原理背景差分法的思想是用图像序列中的当前帧和背景参考模型比...转载 2019-07-20 02:09:07 · 2991 阅读 · 0 评论 -
OpenCV | 直线拟合fitline函数(Python)
简介之前做直线拟合时,自己写了一个利用最小二乘做直线拟合的程序,但是由于直线检测的误差比较大,拟合的效果并不好。个人不知道是什么原因,因此想尝试更改一下直线拟合的算法,后来找到了OpenCV中的fitline函数,也是一个距离最小化函数,它完全包含了最小二乘法。由于网上没有找到相关的与python有关的资源,这里总结如下。1. 函数调用python3中fitline函数的调用形式如下:im...原创 2019-08-13 22:39:36 · 30364 阅读 · 4 评论 -
CV | 轮廓检测并绘出矩形框(两种方法)
摘抄至:https://blog.csdn.net/wsp_1138886114/article/details/82945328https://segmentfault.com/q/1010000010452320/a-1020000010453711简介近日写论文时,发现用网上提供的YOLOv3 代码测试图像并检测矩形框时,程序中并没有设置矩形框线宽的参数。但是如果不调整线宽的话,打印...转载 2019-05-08 10:53:50 · 4946 阅读 · 1 评论