
计算机视觉
文章平均质量分 83
小海聊智造
专注于设计和构建可扩展、高性能和可靠的软件系统。我拥有十年以上的行业经验,涵盖多个领域,包括企业级应用、云计算,AI智能 和大数据处理。
热衷于解决复杂的技术挑战,并通过创新的架构设计提供可持续的解决方案。我具备深厚的技术功底,熟悉多种编程语言和技术栈,如Java、Python、go等, 熟悉微服务架构和分布式系统设计。我善于分析业务需求和技术要求,提供可行的技术方案,并在团队中推动其实施和落地。
展开
-
opencv进阶09-视频处理cv2.VideoCapture示例(打开本机电脑摄像头)
cv2.VideoCapture 类的常用函数包括初始化、打开、帧捕获、释放、属性设置等,下面对这些函数进行简单的介绍。1. 初始化OpenCV 为 cv2.VideoCapture 类提供了构造函数,用于打开摄像头并完成摄像头的初始化工作。该函数的语法格式为:捕获对象=cv2.VideoCapture(“摄像头 ID 号”)式中:“摄像头 ID 号”就是摄像头的 ID 号码。需要注意的是,这个参数是摄像设备(摄像头)的 ID 编号,而不是文件名。其默认值为-1,表示随机选取一个摄像头;原创 2023-08-17 14:49:15 · 7352 阅读 · 0 评论 -
opencv基础14-图像加密和解密
在OpenCV中,图像加密和解密是通过对图像像素进行一系列的变换和操作来实现的通过对原始图像与密钥图像进行按位,可以实现加密;将加密后的图像与密钥图像再次进行按位异或,可以实现解密。按位异或运算的基本规则如表 3-15 所示。根据上述按位异或运算的规则,假设:xor(a,b)=c则可以得到:xor(c,b)=axor(c,a)=b上述运算的过程如表 3-16 所示从上述结果可以看出,如果上述 a、b、c 具有如下关系: a:明文,原始数据。 b:密钥。原创 2023-07-18 17:23:01 · 2656 阅读 · 1 评论 -
opencv-20 深入理解HSV 色彩空间(通过指定,标记颜色等来拓展ROI区域)
RGB 色彩空间是一种被广泛接受的色彩空间,但是该色彩空间过于抽象,我们不能够直接通过其值感知具体的色彩。我们更习惯使用直观的方式来感知颜色,HSV 色彩空间提供了这样 的方式。通过 HSV色彩空间,我们能够更加方便地通过色调、饱和度和亮度来感知颜色。其实,除了 HSV 色彩空间,我们讨论的其他大多数色彩空间都不方便人们对颜色进行理解和解释。例如,现实中我们根本不可能用每种颜料的百分比(RGB色彩空间)来形容一件衣服的颜色。在 HSV 色彩空间中,色调 H 的取值范围是[0,360]。原创 2023-07-25 15:36:46 · 4595 阅读 · 0 评论 -
opencv-19 图像色彩空间转换函数cv2.cvtColor()
例如,在 HSV 或 HLS 色彩空间中,色调值通常在[0,360)范围内,在 8 位图中转换到上述色彩空间后,色调值要除以 2,让其值范围变为[0,180),以满足存储范围,即让值的分布位于8 位图能够表示的范围[0,255]内。目标图像是灰度图像,是 8 位图像,值是位于[0,255]之间的无符号整数。例如,对于 8 位图,其能够表示的灰度级有 28=256 个,也就是说,在 8 位图中,最多能表示 256 个状态,通常是[0,255]之间的值。但是,在很多色彩空间中,值的范围并不恰好在[0,255]原创 2023-07-25 13:50:38 · 16415 阅读 · 0 评论 -
opencv-22 图像几何变换01-缩放-cv2.resize()(图像增强,图像变形,图像拼接)
几何变换是计算机图形学中的一种图像处理技术,用于对图像进行空间上的变换,而不改变图像的内容。这些变换可以通过对图像中的像素位置进行调整来实现。常见的几何变换包括:平移(Translation):将图像在水平和/或垂直方向上进行平移,即将图像的每个像素沿着指定的距离进行移动。缩放(Scaling):通过增大或减小图像的尺寸,使图像变得更大或更小。在缩放过程中,图像中的每个像素的位置会相应地调整。旋转(Rotation):将图像绕着一个特定的旋转中心进行旋转,使得图像的内容按照指定的角度进行旋转。原创 2023-07-25 17:30:17 · 6467 阅读 · 0 评论 -
opencv基础-06 使用numpy.array 操作图片像素值
这段代码创建了一个形状为(2, 4, 3)的NumPy数组img,其中包含了随机生成的8位无符号整数(uint8)类型的数据。这个输出展示了一个形状为(2, 4, 3)的NumPy数组,表示了两个2x4的像素块,每个像素块包含3个通道(红、绿、蓝)。每个像素值都是随机生成的介于10到99之间的整数。size=[2, 4, 3]参数定义了数组的形状为(2, 4, 3),通过观察输出结果可以发现,语句 img.itemset((3,2),255)将图像第 4 行第 3 列位置上的像素值修改为 255 了。原创 2023-07-13 15:35:32 · 3134 阅读 · 0 评论 -
opencv基础05-彩色RGB像素值操作
图像是 BGR 格式的,得到的数值为[0,0,255]。 img[0,0,0]:访问图像 img 第 0 行第 0 列第 0 个通道的像素值。 img[0,0,1]:访问图像 img 第 0 行第 0 列第 1 个通道的像素值。 img[0,0,2]:访问图像 img 第 0 行第 0 列第 2 个通道的像素值。以第 0 个通道是 B 通道,会得到 B 通道内第 0 行第 0 列的位置所对应的值 0。以第 1 个通道是 G 通道,会得到 G 通道内第 0 行第 0 列的位置所对应的值 0。原创 2023-07-13 13:42:48 · 3615 阅读 · 0 评论 -
opencv-27 阈值处理 cv2.threshold()
它基于设定一个阈值来将像素值进行分类,将像素值大于或小于阈值的部分分为两个不同的类别,从而得到二值化的图像或进行二分类预测。图像二值化:将灰度图像转换为二值图像,其中像素值大于或等于阈值的部分设为一个值(通常为255),而小于阈值的部分设为另一个值(通常为0)。对于分类模型的输出概率:将模型输出的概率值与阈值进行比较,大于阈值的样本被划分为一个类别,小于阈值的样本被划分为另一个类别。对于回归模型的输出:将模型输出的连续值与阈值进行比较,大于阈值的样本被划分为一个类别,小于阈值的样本被划分为另一个类别。原创 2023-07-27 18:18:09 · 4815 阅读 · 0 评论 -
opencv案例06-基于opencv图像匹配的消防通道障碍物检测与深度yolo检测的对比
由于摄像头固定的情况下,获取的图像中指定区域内的背景内容不会发生较大变化,因此可以认为背景模板图像中的检测到的角点与在待匹配图像中的相应位置的匹配的角点之间的相对位移应该很小。考虑到消防通道场景中光线问题,采用对光照变化具有一定抗干扰性的Harris角点作为特征点,该类特征点是有灰度图像的二阶导数计算而来,通常存在于图像中像素邻域内出现多个方向上的灰度变化的像素点上,因此能够很好的表示图像中的灰度值的变化范围,而光照变化对图像灰度值的影响在邻域范围内通常很小,因此Harris角点对光照具有一定的稳定性。原创 2023-08-31 09:46:37 · 3005 阅读 · 2 评论 -
javacv 基础04-读取mp4,avi等视频文件并截图保存图片到本地
javacv 读取mp4,avi等视频文件并截图保存图片到本地。原创 2023-08-30 10:19:14 · 1860 阅读 · 0 评论 -
opencv 案例05-基于二值图像分析(简单缺陷检测)
缺陷检测,分为两个部分,一个部分是提取指定的轮廓,第二个部分通过对比实现划痕检测与缺角检测。本次主要搞定第一部分,学会观察图像与提取图像ROI对象轮廓外接矩形与轮廓。下面是基于二值图像分析的大致流程。原创 2023-08-29 14:17:34 · 2561 阅读 · 0 评论 -
javacv基础05-图像色彩空间转换函数Imgproc.cvtColor()(彩图转灰度图示例)
opencv Java实现图片灰度转换原创 2023-08-28 17:14:20 · 1103 阅读 · 0 评论 -
javacv基础03-调用本机摄像头并截图保存到本地磁盘
基于基础02 的基础上对视频进行取帧保存。原创 2023-08-28 15:41:09 · 387 阅读 · 0 评论 -
javacv基础02-调用本机摄像头并预览摄像头图像画面视频
原因是ffmpeg和opencv两个依赖默认会把android,ios,linux,macos,windows以及各自不同cpu芯片下,86/64等所有版本的Jar会全部依赖进来,项目打包后体积剧增500M+解决方法也比较简单,只需要根据我们生产环境真实平台环境,选取其中1个Jar包就可以了。1、maven依赖后,会导致整个项目工程打包发布后的体积变得十分巨大。原创 2023-08-28 15:05:28 · 2094 阅读 · 0 评论 -
javacv基础01-HelloWorld
它为各种流行的计算机视觉和图像处理库(如OpenCV、FFmpeg等)提供了Java包装,使Java开发人员能够在其Java应用程序中访问这些库的功能,无需编写本地代码。JavaCV提供了广泛的功能,包括图像和视频处理、对象检测和识别、人脸分析、光学字符识别(OCR)、相机校准、视频流传输等。相机和视频捕获:JavaCV提供了从摄像头捕获视频流、录制视频文件以及执行图像稳定和运动检测等任务的工具。对象检测和跟踪:JavaCV包括使用各种算法在图像和视频中检测和跟踪对象的工具。参照你们自己的也行。原创 2023-08-28 13:51:51 · 346 阅读 · 0 评论 -
opencv案例03 -基于OpenCV实现二维码生成,发现,定位,识别
特别要关注的是图中三个黑色正方形区域,它们就是用来定位一个二维码的最重要的三个区域,我们二维码扫描与检测首先要做的就是要发现这三个区域,如果找到这个三个区域,我们就成功的发现一个二维码了,就可以对它定位与识别了。第三个code是二维码的原始排列,也就是每个点是0还是255的一个矩阵.白色是255,黑色是0.调用起来十分方便,而且如果不需要解码,只是想定位的话可以调用detect函数,返回结果就只有四个角点了.除了上面的qrcode 包可以识别二维码外,还有pyzbar 包 也可以进行二维码的识别。原创 2023-08-25 15:51:24 · 3253 阅读 · 0 评论 -
opencv 进阶20-随机森林示例
OpenCV中的随机森林是一种强大的机器学习算法,旨在解决分类和回归问题。随机森林使用多个决策树来进行预测,每个决策树都是由随机选择的样本和特征组成的。在分类问题中,随机森林通过投票来确定最终的类别;在回归问题中,随机森林通过平均所有决策树的预测结果来获得最终预测值。随机森林是一种监督学习算法,它构建的“森林”是决策树的集合,。随机森林首先使用训练出来的分类器集合对新样本进行分类,然后用多数投票或者对输出求均值的方法统计所有决策树的结果。原创 2023-08-24 14:17:06 · 1822 阅读 · 0 评论 -
opencv 案例实战02-停车场车牌识别SVM模型训练及验证
下载车牌相关字符样本用于训练和测试,本文使用14个汉字样本和34个数字跟字母样本,每个字符样本数为40,样本尺寸为28*28。运行代码后会生成两个模型文件,下面验证两个模型文件。从结果看比上一节的准确多了。下载不了,评论区留言。原创 2023-08-24 11:38:10 · 1929 阅读 · 1 评论 -
opencv 案例实战01-停车场车牌识别实战
车牌识别技术主要应用领域有停车场收费管理,交通流量控制指标测量,车辆定位,汽车防盗,高速公路超速自动化监管、闯红灯电子警察、公路收费站等等功能。对于维护交通安全和城市治安,防止交通堵塞,实现交通自动化管理有着现实的意义。车牌自动识别系统应用的主要技术车牌识别的技术难点误定位一直是汽车牌照定位方面的研究重点。汽车牌照分割方面的研究方向一直是如何获得良好的汽车牌照分割,以及如何快速地实现汽车牌照倾斜度校正的基础。之所以要进行预处理,主要是为了得到一个比较准确清晰的图像,以便于后期相关分析工作在图像中进行。生成原创 2023-08-23 16:15:24 · 2356 阅读 · 1 评论 -
opencv 进阶17-使用K最近邻和比率检验过滤匹配(图像匹配)
然后,根据第二次观察,即使其中一位哲学家的观点是正确的,你也会开始担心可能会选择一个观点错误的哲学家。因此,蛮力匹配器计算每个可能匹配的距离分值,可以提供大量的对糟糕匹配的距离分值的观察。与无数糟糕的匹配相比,我期望良好的匹配会有明显更好(更低)的距离分值,因此糟糕的匹配分值可以帮助我们为针对良好的匹配选择一个阈值。假设一个查询关键点最多有一个正确或者良好的匹配,那么在考虑所有可能的匹配时,我们主要观察糟糕的匹配。这样的实现丢弃了有关所有可能的糟糕匹配的距离分值的信息,而这类信息是自适应方法所需要的。原创 2023-08-22 15:07:27 · 2623 阅读 · 0 评论 -
opencv 进阶16-基于FAST特征和BRIEF描述符的ORB(图像匹配)
在计算机视觉领域,从图像中提取和匹配特征的能力对于对象识别、图像拼接和相机定位等任务至关重要。实现这一目标的一种流行方法是ORB(Oriented FAST and Rotated Brief)特征检测器和描述符。ORB 由 Ethan Rublee等人开发,结合了两种现有技术的优势——FAST(加速分段测试特征)和Brief(二进制鲁棒独立基本特征)——为特征提取和匹配提供了强大而高效的解决方案。原创 2023-08-22 14:11:23 · 1963 阅读 · 0 评论 -
opencv 进阶15-检测DoG特征并提取SIFT描述符cv2.SIFT_create()
前面我们已经了解了Harris函数来进行角点检测,因为角点的特性,这些角点在图像旋转的时候也可以被检测到。但是,如果我们放大或缩小图像时,就可能会丢失图像的某些部分,甚至有可能增加角点的质量。这种损失的现象需要一种与图像比例无关的角点检测方法来解决。SIFT(Scale-Invariant Feature Transform)尺度不变特征变换可以解决这个问题。函数说明:nfeatures: 保留的最佳功能的数量。这些特征按其分数排名(在SIFT算法中作为局部对比度测量)。原创 2023-08-22 09:28:20 · 2040 阅读 · 0 评论 -
opencv进阶14-Harris角点检测-cv2.cornerHarris
为什么图像的某个特定区域可以归类为特征,而其他区域则不能分类为特征呢?广义地说,原创 2023-08-21 14:01:49 · 1806 阅读 · 0 评论 -
opencv 进阶13-Fisherfaces 人脸识别-函数cv2.face.FisherFaceRecognizer_create()
OpenCV 中,通过函数 cv2.face.FisherFaceRecognizer_create()生成 Fisherfaces 识别器实例模型,然后应用 cv2.face_FaceRecognizer.train()函数完成训练,用 cv2.face_FaceRecognizer.predict()函数完成人脸识别。原创 2023-08-21 10:21:21 · 1238 阅读 · 0 评论 -
opencv进阶12-EigenFaces 人脸识别
OpenCV 通过函数 cv2.face.EigenFaceRecognizer_create()生成特征脸识别器实例模型,然后应用cv2.face_FaceRecognizer.train()函数完成训练,最后用 cv2.face_FaceRecognizer.predict()函数完成人脸识别。原创 2023-08-21 09:49:51 · 1076 阅读 · 0 评论 -
opencv进阶11-LBPH 人脸识别(人脸对比)
在 OpenCV 中,可以用函数 cv2.face.LBPHFaceRecognizer_create()生成 LBPH 识别器实例模型,然后应用cv2.face_FaceRecognizer.train() 函数完成训练,最后用函数完成人脸识别。下面分别介绍上述三个函数。函数cv2.face.LBPHFaceRecognizer_create()函数 cv2.face.LBPHFaceRecognizer_create()的语法格式为:radius:半径值,默认值为 1。原创 2023-08-21 09:09:23 · 3582 阅读 · 0 评论 -
opencv 进阶10-人脸识别原理说明及示例-cv2.CascadeClassifier.detectMultiScale()
在 OpenCV 中,人脸检测使用的是 cv2.CascadeClassifier.detectMultiScale()函数,它可以检测出图片中所有的人脸。该函数由分类器对象调用,其语法格式为:image:待检测图像,通常为灰度图像。scaleFactor:表示在前后两次相继的扫描中,搜索窗口的缩放比例。minNeighbors:表示构成检测目标的相邻矩形的最小个数。默认情况下,该值为 3,意味着有 3 个以上的检测标记存在时,才认为人脸存在。原创 2023-08-18 11:20:58 · 7635 阅读 · 0 评论 -
opencv进阶07-支持向量机cv2.ml.SVM_create()简介及示例
在使用支持向量机模块时,需要先使用函数 cv2.ml.SVM_create()生成用于后续训练的空分类器模型。该函数的语法格式为:获取了空分类器 svm 后,针对该模型使用 svm.train()函数对训练数据进行训练,其语法格式为:训练结果= svm.train(训练数据,训练数据排列格式,训练数据的标签)训练数据:表示原始数据,用来训练分类器。例如,前面讲的招聘的例子中,员工的笔试成绩、面试成绩都是原始的训练数据,可以用来训练支持向量机。训练数据排列格式:原始数据的排列形式。原创 2023-08-17 10:21:19 · 1402 阅读 · 0 评论 -
opencv进阶06-基于K邻近算法识别手写数字示例
这里测试的图片是mnist 数据集中的,这个数据集下载的是压缩的,如要验证需要从下面的图片中去截图单独保存下来自己验证。本例中有两组位于不同位置的用于训练的数据集,如图 20-14 所示。在 OpenCV 中,不需要自己编写复杂的函数实现 K 近邻算法,直接调用其自带的模块函数即可。上述两组数据中,位于左下角的一组数据,其 x、y 坐标值都在(0, 30)范围内。从图中可以看出,随机点(星号点)距离右侧小方块(类型为 1)的点更近,因此被判定为属于小方块的类型 1。连续改了几个,发现识别准备度还是很低的。原创 2023-08-16 18:21:57 · 447 阅读 · 0 评论 -
opencv 进阶04-搞懂什么是 K邻近算法
机器学习算法是从数据中产生模型,也就是进行学习的算法(下文也简称为算法)。我们把经验提供给算法,它就能够根据经验数据产生模型。在面对新的情况时,模型就会为我们提供判断(预测)结果。例如,我们根据“个子高、腿长、体重轻”判断一个孩子是个运动员的好苗子。把这些数据量化后交给计算机,它就会据此产生模型,在面对新情况时(判断另一个孩子能不能成为运动员),模型就会给出相应的判断。原创 2023-08-15 16:24:51 · 168 阅读 · 0 评论 -
opencv进阶01-直方图的应用及示例cv2.calcHist()
但是,实际上人眼并不能明显感受到像素值的细微差别,所以我们可以将相近的像素值看成同一个像素值,这样就会得到类似于图 13-29 的直方图。如果一幅图像拥有全部可能的灰度级,并且像素值的灰度均匀分布,那么这幅图像就具有高对比度和多变的灰度色调,灰度级丰富且覆盖范围较大。对比图 13-4 与图 13-5,可以看到,归一化直方图与直方图在外观上是一致的,只是 y 轴的标签不同而已。在实际处理中,图像直方图的 x 轴区间一般是[0, 255],对应的是 8 位位图的 256 个灰度级;原创 2023-08-11 18:02:19 · 3192 阅读 · 0 评论 -
opencv基础60-用分水岭算法cv2.distanceTransform()实现图像分割与提取原理及示例
在 OpenCV 中,可以使用函数 cv2.watershed()实现分水岭算法。在具体的实现过程中,还需要借助于形态学函数、距离变换函数 cv2.distanceTransform()、cv2.connectedComponents()来完成图像分割。下面对分水岭算法中用到的函数进行简单的说明。1. 形态学函数回顾在使用分水岭算法对图像进行分割前,需要对图像进行简单的形态学处理。先回顾一下形态学里的基本操作。(1)开运算开运算是先腐蚀、后膨胀的操作,开运算能够去除图像内的噪声。原创 2023-08-11 16:11:47 · 3210 阅读 · 0 评论 -
opencv基础59-霍夫变换原理讲解及示例-cv2.HoughLines()->(直线,圆形检测)
霍夫变换是一种在图像中寻找直线、圆形以及其他简单形状的方法。霍夫变换采用类似于投票的方式来获取当前图像内的形状集合,该变换由 Paul Hough(霍夫)于 1962 年首次提出。最初的霍夫变换只能用于检测直线,经过发展后,霍夫变换不仅能够识别直线,还能识别其他简单的图形结构,常见的有圆、椭圆等。原创 2023-08-11 11:33:02 · 6344 阅读 · 0 评论 -
opencv基础58 傅里叶变换cv2.dft()->(图像增强、图像去噪、边缘检测、特征提取、图像压缩和加密)
观察傅里叶变换前后图像的差异。原创 2023-08-10 18:20:20 · 2494 阅读 · 3 评论 -
opencv基础57-模板匹配cv2.matchTemplate()->(目标检测、图像识别、特征提取)
OpenCV 提供了模板匹配(Template Matching)的功能,它允许你在图像中寻找特定模板(小图像)在目标图像中的匹配位置。模板匹配在计算机视觉中用于目标检测、图像识别、特征提取等领域。: 首先,加载目标图像和要匹配的模板图像。: 选择适当的匹配方法,例如 cv2.TM_CCOEFF、cv2.TM_CCOEFF_NORMED、cv2.TM_CCORR、cv2.TM_CCORR_NORMED、cv2.TM_SQDIFF 或 cv2.TM_SQDIFF_NORMED。每种方法对应不同的匹配计算方式。原创 2023-08-10 15:46:05 · 9230 阅读 · 0 评论 -
opencv基础55-获取轮廓的特征值及示例
轮廓自身的一些属性特征及轮廓所包围对象的特征对于描述图像具有重要意义。本节介绍几个轮廓自身的属性特征及轮廓所包围对象的特征。原创 2023-08-10 13:32:36 · 1829 阅读 · 0 评论 -
opencv基础53-图像轮廓06-判断像素点与轮廓的关系(轮廓内,轮廓上,轮廓外)cv2.pointPolygonTest()
在实际使用中,如果想获取位于轮廓上的点,可以通过打印轮廓点集的方式获取。例如,本例中可以通过语句“print(hull)”获取轮廓上的点。在获取轮廓上的点以后,可以将其用作函数 cv2.pointPolygonTest()的参数,以测试函数返回值是否为零。在实际应用中,我们可以拿这个方法去判断模板检测的像素点是否在一个指定的ROI区域内,具体应用示例我们后续在实战篇中讲解并代码示例。在 OpenCV 中,函数 cv2.pointPolygonTest()被用来计算点到多边形(轮廓)的最短距离(也。原创 2023-08-10 09:59:36 · 3518 阅读 · 0 评论 -
opencv基础52-图像轮廓学习05-凸包获取-cv2.convexHull()
逼近多边形是轮廓的高度近似,但是有时候,我们希望使用一个多边形的凸包来简化它。凸包跟逼近多边形很像,只不过它是物体最外层的“凸”多边形。凸包指的是完全包含原有轮 廓,并且仅由轮廓上的点所构成的多边形。凸包的每一处都是凸的,即在凸包内连接任意两点 的直线都在凸包的内部。在凸包内,任意连续三个点的内角小于 180°。例如,在图 12-25 中,最外层的多边形为机械手的凸包,在机械手边缘与凸包之间的部分被称为凸缺陷(Convexity Defect),凸缺陷能够用来处理手势识别等问题。原创 2023-08-10 09:15:24 · 2799 阅读 · 0 评论 -
opencv基础51-图像轮廓04-轮廓多种图形拟合讲解及示例
轮廓拟合(Contour Fitting)是指在图像处理中,通过一些数学模型或曲线拟合方法来近似描述图像中的轮廓。图像中的轮廓是指物体的边界,轮廓拟合可以用于提取、描述和分析物体的形状。常用的轮廓拟合方法包括多项式拟合、贝塞尔曲线拟合、B样条曲线拟合等。这些方法可以用来找到一个与实际轮廓相符合的数学模型,从而更好地描述物体的形状。拟合后的曲线可以用于进一步的分析、测量、识别等任务。:通过对轮廓进行拟合,可以提取物体的形状特征,如圆形、椭圆形等。:通过拟合物体的轮廓,可以检测出物体的存在并确定其位置。原创 2023-08-09 16:21:28 · 2922 阅读 · 1 评论 -
opencv 基础50-图像轮廓学习03-Hu矩函数介绍及示例-cv2.HuMoments()
Hu 矩(Hu Moments)是由计算机视觉领域的科学家Ming-Kuei Hu于1962年提出的一种图像特征描述方法。这些矩是用于描述图像形状和几何特征的不变特征,具有平移、旋转和尺度不变性,适用于图像识别、匹配和形状分析等任务。Ming-Kuei Hu在其论文中提出了七个用于形状描述的独特特征,称之为Hu矩。这些特征通过一系列组合和归一化操作,能够捕获图像的不同几何属性,如大小、形状、旋转等,同时保持了对这些变换的不变性。这使得Hu矩在图像处理领域中成为了一种重要的特征表示方法。原创 2023-08-09 13:24:52 · 4206 阅读 · 2 评论