
opencv
文章平均质量分 66
知来者逆
点错技能树了
展开
-
OpenCV图像处理——查找线条的转折点
该方法通过计算轮廓上相邻点的角度变化来检测转折点。转折点通常对应着显著的角度变化或曲率变化。通过调整角度阈值,可以灵活地检测图像中的线条转折点。原创 2024-10-20 22:27:11 · 475 阅读 · 0 评论 -
OpenCV图像处理——形态学操作
图像形态学操作:基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学。形态学有四个基本操作:膨胀、腐蚀、开、闭。原创 2024-10-16 20:59:19 · 1196 阅读 · 0 评论 -
OpenCV图像处理——积分图计算与积分二值化
积分图(Integral Image)是计算机视觉中一个非常有用的数据结构,特别是在图像处理和特征提取领域。它主要用于快速计算图像中任意矩形区域的像素和。这个特性使得积分图在诸如目标检测、运动估计和图像分割等任务中非常有用。积分图(Integral Image)的定义:取图像左上侧的全部像素计算累加和,并用这个累加和替换图像中的每一个像素,使用这种方式得到的图像称为积分图像。原创 2024-10-14 10:03:34 · 1811 阅读 · 0 评论 -
OpenCV图像处理——积分图像计算(C++/Python)
积分图像是一种高效的图像处理技术,最初由Crow在1984年提出,目的是为了提高多尺度透视投影的渲染速度。它通过构建一个积分图,使得图像中任意矩形区域的像素和能够在常数时间内快速计算出来,极大地减少了在图像模糊、边缘提取、对象检测等操作中的计算量,提高了计算速度。积分图像的构建基于一个简单但有效的概念:图像中的每个点都存储了从图像左上角到该点的区域的像素值之和。这意味着,一旦积分图像构建完成,就可以通过简单的查表和有限次运算来快速获取任何区域的像素和,从而加速了多种图像处理算法的执行。原创 2024-08-16 16:07:30 · 789 阅读 · 0 评论 -
OpenCV图像处理——轮廓的面积与弧长计算(C++/Python)
轮廓面积与轮廓周长是图像分析中的两项核心统计特征,它们为理解和量化图像中的形状提供了基础。:这代表了轮廓所界定区域的像素数量,是衡量区域大小的直接指标。面积的计算结果以像素平方为单位,为我们提供了一个量化的尺度来比较不同物体的相对大小。:它反映了轮廓边界的总长度,以像素为单位。周长是描述形状复杂度和边界长度的关键参数,对于评估物体的形状和轮廓的平滑度或不规则性至关重要。:通过比较物体的面积和周长,我们可以区分不同尺寸的物体,筛选出符合特定大小标准的物体。:不同形状的物体具有独特的面积与周长比。原创 2024-08-15 18:30:34 · 1155 阅读 · 0 评论 -
OpenCV图像处理——按最小外接矩形剪切图像
在图像处理过程中,提取感兴趣区域(ROI)并在其上进行处理后,往往需要将处理后的结果映射回原图像。这一步通常涉及以下几个步骤:找到最小外接矩形:使用 cv::boundingRect 或 cv::minAreaRect 提取感兴趣区域的最小外接矩形。从原图中提取 ROI:根据矩形坐标从原图中剪切出 ROI 进行处理。在 ROI 上进行处理:对提取出的 ROI 进行特定的图像处理操作。将处理后的 ROI 映射回原图:将处理后的结果重新放置回原图的相应位置。原创 2024-08-14 23:50:53 · 1011 阅读 · 0 评论 -
OpenCV图像处理——直线拟合并找出拟合直线的起点与端点
对轮廓进行分析,除了可以对轮廓进行椭圆或者圆的拟合之外,还可以对轮廓点集进行直线拟合。在 OpenCV 中,直线拟合通常是通过 cv::fitLine 函数实现的,该函数采用最小二乘法对一组 2D 或 3D 点进行直线拟合。对于 2D 点集,拟合结果是一个 cv::Vec4f 类型的向量,包含了直线的方向向量和直线上的一个点。这个方向向量可以被转换为直线的斜率和截距,从而得到直线的方程。原创 2024-08-14 13:45:35 · 2072 阅读 · 0 评论 -
OpenCV C++的网络实时视频流传输——基于Yolov5 face与TCP实现实时推流的深度学习图像处理客户端与服务器端
在Windows下使用TCP协议,基于OpenCV C++与Yolov5实现了一个完整的实时推流的深度学习图像处理客户端与服务器端,为了达到实时传输的效果,客户端使用了多线程的方式实现。原创 2024-07-29 16:13:20 · 1390 阅读 · 0 评论 -
基于OpenCV C++的网络实时视频流传输——Windows下使用TCP/IP编程原理
IP 是英文 Internet Protocol (网络之间互连的协议)的缩写,也就是为计算机网络相互连接进行通信而设计的协议。任一系统,只要遵守 IP协议就可以与因特网互连互通。所谓IP地址就是给每个遵循tcp/ip协议连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。原创 2024-07-29 11:27:18 · 1868 阅读 · 0 评论 -
OpenCV图像处理——轮廓查找与多边形逼近、拟合
轮廓逼近,本质是减少编码点。但减少不是无限制的,轮廓逼近得越厉害,反而编码点会变多。原创 2024-07-28 16:47:11 · 376 阅读 · 0 评论 -
OpenCV图像处理——霍夫圆检测与最小二乘法拟合圆
opencv图像处理实现霍夫圆检测与最小二乘法拟合圆实现原创 2024-07-14 20:55:07 · 2968 阅读 · 0 评论 -
OpenCV图像处理——判断轮廓是否在圆环内
OpenCV图像处理——判断轮廓是否在圆环内原创 2024-07-13 23:58:58 · 763 阅读 · 0 评论 -
OpenCV图像处理——获取穿过圆的直线与圆相交的两个点
在OpenCV中,没有直接的函数来计算直线与圆的交点,但可以通过数学方法来实现这一功能。:使用直线上的两个点P1x1y1和P2x2y2来确定直线的斜率m和截距b。直线方程可以表示为ymxb。:将直线方程ymxb代入圆的方程x−cx2y−cy2r2。:将上述方程转换为关于x的二次方程,然后使用求根公式求解。:对于二次方程的每个根,计算相应的y值,得到交点的坐标。原创 2024-07-13 23:33:36 · 1216 阅读 · 0 评论 -
OpenCV图像处理——cv::Mat的位操作示例
在OpenCV中,cv::Mat 类提供了许多位操作功能,允许你执行像素级的位操作,如与、或、非、异或等。原创 2024-06-27 11:07:33 · 533 阅读 · 0 评论 -
计算机视觉——OpenCV C++实现凸包
在图像中发现和分析形式是解决大多数计算机视觉问题的技巧之一,获取轮廓是其中之一。对于新手来说,我会将轮廓描述为“仅仅是一条连接所有位于形状边缘上的点的曲线。假设我有下面这张手的图像,手的轮廓由绿线表示。红点代表我们将连接起来形成轮廓曲线的点。我对轮廓的高级数学课程记忆犹新。然而,由于老师从未强调过轮廓在现实世界中的应用,所以很难理解这个主题的重要性。今天,我发现它在计算机视觉中的重要性。什么是凸包?一个没有大于180度的内角的物品被称为凸形的。非凸形或凹形是指不是凸形的形状。原创 2024-06-25 16:19:07 · 1588 阅读 · 0 评论 -
计算机视觉——OpenCV实现Lucas-Kanade 光流追踪
光流法是计算机视觉中用于估计图像序列中物体运动的关键技术。它类似于观察夜空中的彗星,通过其在天空中的运动轨迹来追踪它的路径。在图像处理中,光流帮助我们理解像素点如何在连续的帧之间移动。原创 2024-05-11 17:09:48 · 1714 阅读 · 3 评论 -
计算机视觉——Opencv blobFromImage与torchvision实现数据标准化
是 OpenCV 的深度神经网络(DNN)模块中的一个函数,它用于将图像转换为深度学习模型所需的输入格式,主要是对传入的图像进行的转换包括图像尺寸调整、均值减法、缩放等预处理步骤,以便图像数据能够适配深度学习模型的输入要求。原创 2024-05-09 11:10:15 · 2214 阅读 · 3 评论 -
计算机视觉——OpenCV Otsu阈值法原理及实现
Otsu阈值法,也被称为大津算法,是一种在图像处理中广泛使用的自动阈值分割技术。这种方法由日本学者大津展之于1979年提出,旨在根据图像的灰度直方图来自动选择最佳全局阈值。Otsu阈值法的核心思想是最小化类内方差或最大化类间方差。预处理:对输入图像进行预处理,以减少噪声和增强图像特征。常见的预处理方法包括高斯平滑滤波,这有助于平滑图像,减少随机噪声。灰度直方图:计算图像的灰度直方图,即统计图像中每个灰度级出现的频率。直方图可以提供图像的灰度分布信息。阈值计算:这是Otsu算法的关键步骤。原创 2024-05-07 18:54:18 · 4871 阅读 · 1 评论 -
计算机视觉——OpenCV 使用分水岭算法进行图像分割
分水岭算法通过模拟自然地形来实现图像中物体的分类。在这一过程中,每个像素的灰度值被视作其高度,灰度值较高的像素形成山脊,即分水岭,而二值化阈值则相当于水平面,低于这个水平面的区域会被“淹没”。原创 2024-04-26 11:38:03 · 2953 阅读 · 6 评论 -
计算机视觉—— OpenCV cornerSubPix亚像素角点检测
亚像素角点检测,在数字照片中,最小的可见单位是“像素”。尽管我们无法直接看到像素之间的信息,但有些应用场景需要比相机所提供的信息更加精确。例如,在从图像中重建三维(3D)对象时就需要进行精确的测量。为了提高角点识别的准确性,已经开发了一些数学策略。原创 2024-04-25 09:19:25 · 3945 阅读 · 0 评论 -
计算机视觉——使用OpenCV GrabCut算法从图像中移除背景
GrabCut算法是一种用于图像前景提取的技术,由Carsten Rother、Vladimir Kolmogorov和Andrew Blake三位来自英国剑桥微软研究院的研究人员共同开发。该技术的核心目标是在用户进行最少交互操作的情况下,自动从图像中分割出前景对象。在GrabCut算法中,用户只需在图像上用矩形框选出包含前景对象的区域,算法随后会迭代地进行分割,直至得到最佳结果。在这个过程中,若算法错误地将某些前景区域标记为背景或反之,用户可通过在图像上绘制笔触进行修正,指导算法在下一次迭代中进行更准原创 2024-04-24 17:52:49 · 2867 阅读 · 3 评论 -
计算机视觉——OpenCV Python位运算与图像掩码
位运算与图像掩码的结合允许对图像的特定区域进行精确的操作。通过使用位运算(如AND、OR、XOR和NOT),可以基于掩码的选择性地修改图像数据。原创 2024-04-17 14:46:46 · 1961 阅读 · 1 评论 -
计算机视觉——OpenCV Python基于颜色识别的目标检测
在HSV颜色模型中,色调的度量是以色轮为基础的,其中红色通常对应于0度(或360度,因为色轮是连续的),绿色对应于120度,蓝色对应于240度。色调的这种表示方式使得颜色的选择和调整变得直观,因为它与我们在日常生活中描述颜色的方式相一致。这种分离使得HSV颜色空间在处理光照变化时更为鲁棒,因为可以通过调整色调和饱和度的范围来检测特定颜色的物体,而不受亮度变化的影响。现在,检测的定义颜色范围。:在HSV颜色空间中,可以通过设置色调、饱和度和亮度的阈值来创建颜色掩码,从而过滤和检测特定颜色的物体。原创 2024-04-16 10:29:24 · 3817 阅读 · 2 评论 -
计算机视觉——基于OpenCV和Python进行模板匹配
模板匹配的主要目标是在一幅大图像中定位一个或多个与模板图像相匹配的区域。这个过程就像是用一个“放大镜”在大图像上移动,不断比较模板图像与大图像中相应位置的相似度。通过计算模板图像和大图像中各个位置的像素差异,可以找到与模板图像最为相似的区域。原创 2024-04-14 16:01:03 · 5893 阅读 · 8 评论 -
OpenCV图像处理——创建、读取、无损保存图像(C++/Python)
详细示例了OpenCV创建图像、读写图像、保存图像,保存高质量图像原创 2023-09-23 23:08:10 · 7128 阅读 · 0 评论 -
OpenCV图像处理使用笔记(五)——图像边界拓展
前言1.在OpenCV滤波和卷积算法中,在进行核运算的过程中,矩阵边界拓展是一个非常重要的处理,OpenCV提供的函数copyMakeBorder()来拓展边界。2.我的系统环境是Linux,加Qt creator,OpenCV的版本是3.30。边界拓展1.函数原型void copyMakeBorder( InputArray src, OutputArray dst, int top...原创 2019-06-20 17:39:55 · 3020 阅读 · 1 评论 -
OpenCV图像增强(三)——自适应对数映射
前言1.这是一种在低光照下对色彩恢复效果很好的算法,具体可以看《Adaptive Logarithmic Mapping For Displaying High Contrast Scenes》。2.代码不多,直接调用封装好的函数就可以了。代码void adaptiveLogarithmicMapping(const Mat& img, Mat &dst) { ...原创 2019-07-18 20:26:29 · 1481 阅读 · 1 评论 -
OpenCV图像处理——基于OpenCV的ORB算法实现目标追踪
ORB算法通过结合FAST和BRIEF两种算法的优点,能够在图像中快速准确地检测到关键点,并生成对应的特征描述符。这使得ORB算法非常适合用于对象识别、跟踪和图像拼接等任务,尤其是在需要处理大量图像数据时,ORB的高效性尤为重要。原创 2024-04-05 22:02:25 · 2964 阅读 · 0 评论 -
OpenCV图像处理——基于背景减除实现多目标追踪
BackgroundSubtractorMOG2作为GMM算法的改进版本,在保持原有优点的基础上,通过增加阴影检测和提高算法效率,使得它在处理复杂场景时更加鲁棒和高效。原创 2024-04-05 11:50:20 · 2398 阅读 · 0 评论 -
OpenCV图像处理——图像矩
图像矩的应用在图像分析中扮演着关键角色,它们不仅能够提供对象的几何信息,还能够辅助我们进行图像识别、分类和模式识别等任务。在处理复杂对象时,高阶矩的使用能够提供更加精确和详细的描述,从而提高对象重构的准确性。通过这些方法,我们可以更好地理解和分析图像中的内容,为各种视觉任务提供强有力的支持。原创 2024-03-27 13:51:12 · 1468 阅读 · 0 评论 -
OpenCV图像处理——遍历图像像素的几种方式比对
在 OpenCV 中,访问图像像素有好几种,如:.at、.ptr、ptr()、.data、MatIterator_ 等,不同的像素访问方式的处理时间都不相同。对于实时性要求比较高的应用场景来说,处理的时间极为重要。原创 2024-01-10 14:14:26 · 987 阅读 · 0 评论 -
OpenCV图像处理——C++实现亚像素尺寸标定板边缘轮廓提取
在图像处理中,亚像素插值常常用于提高对物体边缘位置的定位精度。一些常见的亚像素插值方法包括双线性插值、三次样条插值等。这些方法通过考虑像素之间的连续性,从而提供了比单纯使用离散像素更为精确的坐标信息。原创 2024-01-02 22:23:34 · 4597 阅读 · 5 评论 -
OpenCV数字图像处理——基于目标边缘适用于目标部分遮挡或不同光照模板匹配
模板匹配是一项具有挑战性的任务,主要受到其速度和可靠性的限制。当对象只有部分可见或与其他对象混合在一起时,解决方案必须具备鲁棒性,特别是对亮度变化要有稳健的适应能力。在此问题中,算法的计算效率也至关重要。为解决这一问题,存在两种主要方法:基于灰度值的匹配(或基于区域的匹配)和基于特征的匹配(非基于区域的匹配)。原创 2023-12-26 17:25:29 · 1642 阅读 · 0 评论 -
OpenCV数字图像处理——检测出图像中的几何形状并测量出边长、直径、内角
在自动化制造行业中,机器视觉技术广泛应用于工件尺寸测量。通过机器视觉系统,可以测量工件的长度、直径、角度、曲率等多个尺寸参数,甚至可以检测产品的相关区域的基本几何特征。这种技术不仅能够实时获取产品的尺寸参数,还能够进行在线实时判定和分拣,对自动化生产起到重要作用。原创 2023-11-28 11:55:15 · 9651 阅读 · 7 评论 -
Visual Studio 2019下编译OpenCV 4.7 与OpenCV 4.7 contrib
vs2019 c++使用opencv 和contrib、dnn,编译opencv的详细步骤。原创 2023-11-11 15:20:50 · 1366 阅读 · 0 评论 -
OpenCV图像处理——矩形(Rect)类的常用操作
矩形(Rect)常用属性、操作、处理原创 2023-09-07 09:00:19 · 6262 阅读 · 0 评论 -
轻量化实时语义分割LiteSeg——从算法原理到模型训练与部署
1.语义分割可用于代替传统算法的边缘检测,图像分割,多应用于自动驾驶、文档处理,工业缺陷检测等领域。2.LiteSeg是一种实时的轻量级的语义分割网络,为了在 移动端上能有更快的速度和更好的效果,在论文的基础上做了算法优化。2.博客详细的记录了LiteSeg这个网络从论文复现到优化模型、训练模型、模型部署推理的步骤与代码实现。原创 2022-05-04 18:30:33 · 10122 阅读 · 13 评论 -
直线检测——对比M-LSD直线检测(基于深度学习)与霍夫曼直线检测
对比基于深度学习和传统直线检测算法的精度与检测速度,OpenCV C++ 实现,深度学习更好的取代传统算法一个痛苦的调参过程。原创 2022-04-24 11:20:34 · 12651 阅读 · 2 评论 -
文档扫描识别——OpenCV与C++实现OCR文字识别
文档边缘检测与OCR文字识别原创 2022-01-17 23:49:15 · 15618 阅读 · 4 评论 -
智能证件照制作——基于人脸检测与自动人像分割轻松制作个人证件照(C++实现)
基于深度学习的智能证件照制作,导入一个照片自动剪切替换背景生成常用的证件照原创 2021-12-21 01:14:00 · 9654 阅读 · 22 评论