文章目录一、检测特征点1.sift检测特征点2.surf检测特征点3.brisk检测特征点4.orb检测特征点5.akaze检测特征点6.总结二、特征匹配1.暴力匹配法2.KNN匹配法3.FLANN匹配法4.总结环境:python3.7 + opencv3.4.2 后文运用SIFT和SURF,需安装opencv-contrib-pythonpip uninstall opencv-python
转载
2023-08-17 15:02:14
144阅读
# Python OpenCV 进阶:图像处理与计算机视觉技术
**引言**
OpenCV(Open Source Computer Vision Library)是一个广泛使用的开源计算机视觉库,它提供了丰富的图像处理和计算机视觉算法,可以用Python、C++等多种编程语言进行调用。本文将介绍如何进一步学习和应用OpenCV库,以实现更复杂的图像处理和计算机视觉技术。
**安装OpenC
原创
2024-02-29 03:53:33
33阅读
Python代码总结进制转换字符串找子串的第一个index:判断大小写,转换大小写补充两个字符串数学python计算指数双指针,涉及到重复项的,可以从1开始遍历,检查前一项,List列表的函数列表的方法创建列表:切片操作集合字典字典的获取要用dic.get(key)Collections双向队列哈希表:字符串中的第一个字符defaultdict异位词:enumerate正则表达式.sub函数链表
转载
2023-09-21 07:22:12
69阅读
Opencv是一个用户基础非常多的视觉开发库,可以用来实现人脸识别等功能,由于涉及到大量的调用与计算,所以对硬件的条件要求很高,并且还需要时时刻刻注意内存溢出这个问题,怎么样?很刺激吧。从这篇文章开始我们从最基础学起,不同于其他学习博客,这个系列文章真的会是从最基础的开始讲解。本文主要讲解Opencv的数据类型,已经最关键的类:Mat所拥有的强大的特性。Opencv的C++类和函数都定义在命名空间
转载
2024-03-23 14:42:30
58阅读
1. 关于OpenCV进阶之路前段时间写过一些关于OpenCV基础知识方面的系列文章,主要内容是面向OpenCV初学者,介绍OpenCV中一些常用的函数的接口和调用方法,相关的内容在OpenCV的手册里都有更详细的解释,当时自己也是边学边写,权当为一种笔记的形式,所以难免有浅尝辄止的感觉,现在回头看来,很多地方描述上都存在不足,以后有时间,我会重新考虑每一篇文章,让成长系列对基础操作的介绍更加详细
转载
2024-04-07 13:45:48
44阅读
分水岭算法主要根据图像梯度将图像分割成“山”和“谷”;一般图像噪声经常干扰分水岭算法的分割,所以一般采用标记的方法来给分水岭算法提供灰度级参考,来更换的分割图像;从效果来说比普通的灰度阈值分割效果要好;算法的具体原理和实现可参考网上的详解;原函数及解释:CV_EXPORTS_W void watershed( InputArray image, InputOutputArray markers )
我们在上个教程讨论了SIFT算法用于检测特征点,SIFT算法对旋转、尺度缩放、亮度变化等保持不变性,对视角变换、仿射变化、噪声也保持一定程度的稳定性,是一种非常优秀的局部特征描述算法。但是其实时性相对不高。SURF(Speeded Up Robust Features)算法改进了特征了提取和描述方式,用一种更为高效的方式完成特征点的提取和描述。SURF算法原理SURF特征检测的步骤1. 尺度空间的
转载
2023-07-03 23:36:53
152阅读
Opencv-python教程(6)——Thresholding OpenCV
第六章 Thresholding OpenCV 目录Opencv-python教程(6)——Thresholding OpenCV前言一、threshold作用?二、示例1.第一步2.更改代码3.再次更改代码4.自适应阈值总结前言本系列文章纯属搬运工,来自个人阅读一个国外python-opencv的
转载
2023-10-12 13:40:57
55阅读
贪心算法: money = [100,50,20,5,1] #钱币的面额大小 def change_money(x): change = [0,0,0,0,0] #对应钱币面额的个数 for i,m in enumerate(money): change[i] = x // money[i] x =
原创
2021-05-20 20:05:47
100阅读
一、常用的基础滤波操作 在图像处理中,尽可能消除图片中的噪声,消除噪声就需要用到滤波,在本次opencv学习中,学习了三个滤波方式。(1)平均滤波,就是将一个区域内的像素值求和取平均值,然后用这个平均值替换区域中心的像素值。blur(源Mat对象,目标Mat对象,Size对象,Point对象)//Size对象用来确定区域大小,Point对象如果x,y都是-1则表示更新区域中心的像素。(2)高斯滤波
转载
2023-12-31 14:38:57
263阅读
# Python OpenCV 临近算法入门
在计算机视觉和图像处理中,临近算法(Nearest Neighbor Algorithm)是一种重要的工具。它主要用于图像处理的多种场景,例如图像缩放、颜色量化和对象识别等。在这篇文章中,我们将详细介绍临近算法,并结合Python和OpenCV库来展示其应用。
## 什么是临近算法?
临近算法是一种基本的插值算法,通常用于图像重采样。在图像缩小或
最近我发现,在很多特定问题上传统的分割方法挺方便的,比如分割打印字体文件,网站爬下来的表格图像,pdf中的特定格式文件等。在实战中,我总结了几点记录一下。主要采用opencv-python来应用这些算法。 大体来分,传统的分割算法可分为三类: 基于阈值的分割方法基于区域的分割方法基于边缘的分割方法以及基于特定理论的分割方法 从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的
转载
2023-08-07 15:24:10
228阅读
滤波功能在图像处理方面特别常用,我们这一篇来熟悉openCV滤波的函数,当然我们从概念看起。官网地址:https://docs.opencv.org/master/d7/d37/tutorial_mat_mask_operations.html上一篇:Mat数据的遍历和图像数据操作(如果不熟悉遍历方法的话,看这部分代码会不理解)openCV滤波功能这边官网还是在介绍filter2D函数之前,给我们
转载
2024-01-08 17:03:12
56阅读
本文主要涉及到五种滤波方法,包括三种线性滤波器和两种非线性滤波器。 1. 线性滤波器 - 方框滤波 - 均值滤波 - 高斯滤波 2. 非线性滤波器 - 中值滤波 - 双边滤波器线性滤波器图像滤波可以表示为如下的公式: g(x,y)=∑k,lf(x+k,y+l)g(k,l) 其中g(k,l)称为核,通过构造核可以实现线性滤波方法方框滤波方框滤波器的核为: α⎡⎣⎢⎢⎢⎢⎢11⋮111
转载
2023-10-08 21:33:29
106阅读
一.图像去雾随着社会的发展,环境污染逐渐加剧,越来越多的城市频繁出现雾霾,这不仅给人们的身体健康带来危害,还给那些依赖图像信息的计算机视觉系统造成了不良影响,因为在雾天采集到的图像对比度和饱和度均较低,颜色易发生偏移与失真等。因此,寻找一种简单有效的图像去雾方法,对计算机视觉的后续研究至关重要。该部分主要从下列几篇论文摘取对图像去雾算法进行普及,引用及参考中文论文:魏红伟, 等. 图像去雾算法研究
转载
2024-06-28 20:01:50
274阅读
追踪的目的是在当前帧找到前一帧确定的对象。因为我们要在当前帧确定其对象位置,因此我们需要知道它是如何运动的,换句话说,需要知道运动模型参数。 如果对象非常简单且没有什么外貌上的变化,我们可以使用模板匹配。但是现实并未如此,当前模型可能随时随地变换(如人脸,你可能下一秒变成侧脸)。 Opencv中集成了诸多算法,随着其不断更新,算法的种类也越来越多,3.3版本的算法种类是6种-BOOSTING,
转载
2023-07-05 13:04:40
266阅读
图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。 图像滤波既可以在时域进行,也可以在频域进行。图像滤波可以更改或者增强图像。通过滤波,可以强调一些特征或者去除图像中一些不需要的部分
转载
2023-12-02 13:59:07
98阅读
1.常用运算OpenCV图像运算包括如下函数:加法运算:add(src1, src2, dst=None, mask=None, dtype=None)减法运算:subtract(src1, src2, dst=None, mask=None, dtype=None)乘法运算:multiply(src1, src2, dst=None, scale=None, dtype=None)除法运算:di
转载
2024-03-05 16:45:31
62阅读
不同于其它的机器学习模型,EM算法是一种非监督的学习算法,它的输入数据事先不需要进行标注。相反,该算法从给定的样本集中,能计算出高斯混和参数的最大似然估计。也能得到每个样本对应的标注值,类似于kmeans聚类(输入样本数据,输出样本数据的标注)。实际上,高斯混和模型GMM和kmeans都是EM算法的应用。在opencv3.0中,EM算法的函数是trainEM,函数原型为: bool trainE
转载
2024-06-27 18:49:44
113阅读
# OpenCV Python 帧差异算法科普文章
## 引言
在计算机视觉领域,帧差异算法(Frame Difference Algorithm)是一种常用的运动检测技术。它通过分析视频流中连续帧之间的差异来识别动态对象。帧差异算法不仅简单高效,而且易于实现,我们可以利用 Python 的 OpenCV 库来快速上手。
## 帧差异算法原理
帧差异算法的核心思想是:通过计算相邻帧之间的差异,