自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Color Space的博客

公众号:OpenCV与AI深度学习

  • 博客(399)
  • 资源 (1)
  • 收藏
  • 关注

原创 C#图像处理 | EmguCV+OpenCVSharp二合一教程 你值得拥有

VS2017+EmguCV3.4高清入门视频教程视频教程原链接如上,内容预览与目录如下EmguCV+OpenCVSharp视频教程二合一版本 C#视觉开发者必备EmguCV基础视频教程---第01讲(EmguCV介绍与安装配置)EmguCV基础视频教程---第01讲---补充更新(EmguCV3.4.1安装配置)EmguCV基础视频教程---第02讲(EmguCV自带例程赏析)EmguCV基础视频教程---第03讲(图像读取_显示_保...

2021-02-06 15:30:14 3746

原创 TensorFlow深度学习视频教程基础入门到实战 图像分类 目标检测TensorFlow Object Detection API

TensorFlow基础入门与实战教程,适合Python C++ C#视觉开发者,基于TensorFlow深度学习框架,涉及TensorFlow基础、图像分类、目标检测训练与测试以及后期在C++和C#的使用。SSD,Faster RCNN,Mask RCNN训练检测目录如下:学到内容预览:...

2019-10-27 21:42:39 1153

原创 实战 | YOLOv8使用TensorRT加速推理教程(步骤 + 代码)

这一步主要是安装根据自己的硬件安装GPU驱动,下载CUDNN等,以往的文章已经介绍过多次,可以点击下面的图片跳转到对应文章查看(点击图片跳转)。DeepSparse:专为稀疏模型设计的CPU推理运行时,可以有效加速基于WSL2的Windows环境下的推理。OpenVINO:Intel的推理工具套件,用于CPU上的模型优化和加速,支持量化和多种硬件加速。可以使用官网下载的模型也可以使用自己训练好的模型。保持框架最新:确保使用的深度学习框架版本是最新的,以获得最新的优化和bug修复。

2024-07-09 20:07:16 2238

原创 实战 | YOLOv10 自定义数据集训练实现车牌检测 (数据集+训练+预测 保姆级教程)

例如,在 COCO 数据集上,YOLOv10-S 的速度是 RT-DETR-R18 的 1.8 倍,而 YOLOv10-B 与 YOLOv9-C 相比,在性能相同的条件下,延迟浏览器打开 46%,参数浏览器打开 25%。YOLOv10是清华大学研究人员在Ultralytics Python包的基础上,引入了一种新的实时目标检测方法,解决了YOLO以前版本在后处理和模型架构方面的不足。YOLOv10中的主干网负责特征提取,它使用了增强版的CSPNet(跨阶段部分网络),以改善梯度流并减少计算能力。

2024-06-08 21:00:12 1616

原创 基于OpenVINO实现无监督异常检测

下面的函数run_inference()将以 FiftyOne 样本集合(例如我们的测试集)作为输入,以及推理器对象和用于将结果存储在样本中的键。在此示例中,我们将使用 0.5 的阈值,但您可以尝试使用不同的值。然而,视觉异常检测对于检测制造中的缺陷、识别监控录像中的可疑活动以及检测医学图像中的异常至关重要。train_and_export_model()下面的函数使用 Anomalib 的类训练异常检测模型Engine,将模型导出到 OpenVINO,并返回模型“推理器”对象。我们将重点关注的对象类别。

2024-06-08 20:58:03 1229

原创 AI一键换衣:开源虚拟试穿项目IDM-VTON介绍与使用

对时尚设计师和零售商而言,在电子商务网站线上提供试穿服务,不仅能够降低库存成本,提高销售效率,提升购物体验和客户满意度,协助时尚设计师预览新设计在不同体型上的效果,还能减少实体试衣间的需求,从而节省空间和运营成本。使用两个不同的模组来编码服装图像的语义,给定扩散模型的基础 UNet,将从视觉编码器提取的高级语义融合到交叉注意力层,进一步提升影像的细节品质。IDM-VTON 透过分析人物和服装的图像,即使在复杂背景和多样姿势下,IDM-VTON 也能保持服装的细节特征,产生逼真的试穿效果。

2024-06-08 20:54:52 567

原创 实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)

在本次实验中,我们利用 BDD(Berkeley DeepDrive)车道检测数据集提供的丰富多样的数据,成功展示了微调的 SegFormer 模型在车道检测任务中的应用。这种方法凸显了微调的有效性以及 SegFormer 架构在处理自动驾驶和道路安全中的复杂语义分割任务时的稳健性,即使在漆黑的夜晚也是如此。车道检测的流畅性和准确性(在叠加的绿色蒙版中可视化)证明了该模型的有效性。最后,可以肯定的是,即使有多种尖端的车道检测算法,对 SegFormer 这样的模型进行微调也能获得出色的结果!

2024-06-08 20:51:57 850

原创 YOLOv8自定义数据集训练实现火焰和烟雾检测

在本例中,图像文件位于/content/drive/MyDrive/D-Fire/runs/detect/train/confusion_matrix.png.该width=600参数将显示图像的宽度设置为600像素,它控制显示时图像的大小。例如,如果您的 Google 云端硬盘中有一个文件,您可以使用路径“/content/drive/MyDrive/”引用该文件,后跟该文件在 Google 云端硬盘目录结构中的位置。该文件可能包含有关数据集的信息,例如图像的路径和相应的对象标签。

2024-05-27 21:20:50 858 1

原创 实战 | 使用YoloV8实例分割识别猪的姿态(含数据集)

epoch 的数量主要取决于您愿意等待多长时间,epoch 越多,结果越好,但是,总有一个点是无法实现任何改进的,因此从 100 个 epoch 开始似乎是个好主意。使用 Yolov8 时,可以记录某一类别的猪的数量(例如正在进食的猪),这样您就可以随时统计猪的数量。如果您不熟悉虚拟环境,虚拟环境的目的是将当前项目中安装的包与计算机上的其他项目分开,这样您就可以避免项目之间的版本不匹配。以及 dataset.yaml 文件的路径,它指向我们的数据、标签和要识别的类的数量。确保路径与您在计算机上的期望相符。

2024-05-27 21:18:12 894 7

原创 YOLOv10介绍与推理--图片和视频演示(附源码)

例如,在 COCO 数据集上,YOLOv10-S 的速度是RT-DETR-R18 的 1.8 倍,而 YOLOv10-B 与 YOLOv9-C 相比,在性能相同的情况下,延迟减少了 46%,参数减少了 25%。YOLOv10是清华大学的研究人员在Ultralytics Python包的基础上,引入了一种新的实时目标检测方法,解决了YOLO 以前版本在后处理和模型架构方面的不足。然而,对 NMS 的依赖和架构上的低效阻碍了最佳性能的实现。利用一致的双重分配来消除对 NMS 的需求,从而减少推理延迟。

2024-05-27 21:16:14 3300

原创 PyRun_SimpleString(“import cv2“); 报错解决

opencv-python版本4.8.0.76。卸载opencv-contrib-python。

2024-05-07 16:49:18 164

原创 实战 | YOLOv8自定义数据集训练实现手势识别 (标注+训练+预测 保姆级教程--含数据集)

安装完成后,命令行直接输入labelimg,回车即可打开labelimg,数据集类型切换成YOLO,然后依次完成标注即可。可以自己写一个从摄像头存图的脚本保存一下不同手势图到本地,这里提供一个供参考:​​​​​​​。标注好之后,使用下面的脚本划分训练集、验证集,注意设置正确的图片和txt路径:​​​​​​​。安装好后可以查看是否安装成功,上面安装的gpu版本,查看指令与结果:​​​​​​​。hand.yaml内容如下,注意修改自己的数据集路径即可:​​​​​​​。预测脚本如下:​​​​​​​。

2024-03-29 15:39:11 310

原创 实战 | 微调训练TrOCR识别弯曲文本

TrOCR(基于 Transformer 的光学字符识别)模型是性能最佳的 OCR 模型之一。在我们之前的文章中,我们分析了它们在单行打印和手写文本上的表现。

2024-03-25 19:07:47 2012

原创 TrOCR—基于Transformer的OCR入门

多年来,光学字符识别 (OCR) 出现了多项创新。它对零售、医疗保健、银行和许多其他行业的影响是巨大的。尽管有着悠久的历史和多种最先进的模型,研究人员仍在不断创新。与深度学习的许多其他领域一样,OCR 也看到了变压器神经网络的重要性和影响。如今,我们拥有像。

2024-03-25 19:04:10 1256

原创 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)

先进的计算机视觉技术(例如对象检测和跟踪)可应用于监控录像,以识别和跟踪车辆在摄像机视野中移动。现在让我们指定类:​​​​​​​。之后,我们找到检测到的车辆的中心,然后在它们穿过人工创建的红线时对它们进行计数。在上面的代码中,我们循环遍历视频中的每个帧,然后进行检测。然后,由于我们仅对车辆进行计数,因此仅过滤掉汽车的检测结果。在这里,我们在加载视频后获取视频属性,因为它们对于使用计数器重新创建视频并最终将其存储在本地非常有用。我们可以看到,当车辆越过红线时,视频左上角的计数器不断增加。

2024-03-13 20:38:33 2058 2

原创 实战 | 使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)

trainImagePath = os.path.join(dataDir, 'train','images'):此行构造包含训练图像的目录的路径。对于每个子图,它使用 加载相应的图像os.path.join(validImagePath, selectedImage[i]),使用 方法执行推理bestModel.predict(),并使用 绘制带注释的图像results[0].plot()。在整个项目中,我们从数据管理到模型训练、推理和评估,揭示了图像分割的复杂性及其在计算机视觉中的变革潜力。

2024-03-02 21:22:29 1818 2

原创 OpenCV自带的三种白平衡算法使用演示(代码 + 效果)

许多传统的白平衡算法都是基于统计的,即它们依赖于这样一个事实:某些假设应该在正确白平衡的图像中成立,例如众所周知的灰色世界假设。然而,通过在基于学习的框架中利用具有地面实况光源的大型图像数据集,通常可以获得更好的结果。python learn_color_balance.py -i <包含训练图像的文件夹的路径> -g <real_illum_568..mat的路径> -r 0,378 --num_trees 30 --max_tree_depth 6 --num_augmented 0。

2024-02-24 11:53:36 2118 1

原创 实战 | 使用CNN和OpenCV实现数字识别项目(步骤 + 源码)

x_train, x_val, y_train, y_val = train_test_split(x_train, y_train, test_size=0.2, random_state=42)进一步将训练集分为训练集 (x_train和y_train) 和验证集 (x_val和y_val)。这有助于模型从更多样化的增强图像中学习,提高其泛化新的和未见过的数据的能力。定义用于图像分类的 CNN 模型,对其进行编译,使用数据增强对其进行训练,并保存训练模型的权重和架构以供将来使用。

2024-02-17 21:01:19 506

原创 实战 | 基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)

在高速公路的路肩上,通常有垂直的柱子——标记,每隔固定的距离间隔开。在一种情况下,我们可以计算每一帧的速度:计算两个视频帧之间行进的距离,并将其除以 FPS 的倒数,在我的例子中为 1/25。要对视频执行对象检测,我们需要迭代视频的帧,然后对每个帧运行我们的检测模型。最后,我们将顶点A-B-C-D和的坐标分别重新组织A'-B'-C'-D'为二维SOURCE和TARGET矩阵,其中矩阵的每一行包含一个点的坐标。这样,汽车行驶的距离明显大于闪烁引起的小盒子移动,我们的速度测量也更接近真实情况。

2024-02-17 20:57:36 560

原创 用Python和OpenCV搭建自己的一维码和QRCode扫描仪(步骤 + 源码)

本文我们将创建一个程序来扫描图像中的二维码和条形码。对于这个程序,我们需要三个包,分别是OpenCV、NumPy和pyzbar。大多数 Python 程序员都熟悉 OpenCV 和 Numpy 库。OpenCV 是一个开源计算机视觉和机器学习库。它是一个有用的图像处理库。我们在项目中使用这个库来处理设备捕获的视频中的每一帧。我们在这里使用 Numpy,因为 pyzbar 可与 OpenCV / numpy ndarrays 配合使用。而 pyzbar 库用于从给定图像中读取条形码和 QR 码。

2024-02-17 20:54:48 1216 1

原创 开源项目 | 用AI给人像照片换发型和发色(附详细步骤 + 避坑指南)

我们新颖的表示方法能够从多个参考图像中传输视觉属性,包括痣和皱纹等特定细节,并且因为我们在潜在空间中进行图像混合,所以我们能够合成连贯的图像。我们的方法避免了其他方法中存在的混合伪影,并找到全局一致的图像。源码中是用yaml直接创建环境,environment/environment.yaml ,这里我们需要将environment.yaml文件中需要pip的包复制出来,粘贴进新建的一个requirements.txt中,这里我已经在本地电脑建好,直接上传到Barbershop根目录。

2024-02-02 20:56:48 3505

原创 实战 | OpenCV+OCR实现弧形文字识别实例(详细步骤 + 源码)

测试图如下,目标是正确识别图中的字符。

2024-01-28 08:21:35 364

原创 实战 | OpenCV两种不同方法实现粘连大米粒分割计数(步骤 + 源码)

测试图如下,图中有个别米粒相互粘连,本文主要演示如何使用OpenCV用两种不同方法将其分割并计数。

2024-01-17 21:27:11 671

原创 基于YOLOv8 + BotSORT实现球员和足球检测与跟踪 (步骤 + 源码)

本文旨在了解 YOLO 架构并在自定义数据集上对其进行训练,然后微调模型以获得更好的结果,并运行推理以了解最有效的方法。

2024-01-09 22:24:21 1282 1

原创 基于Segformer实现PCB缺陷检测(步骤 + 代码)

PCB缺陷检测是电子制造的一个重要方面。利用Segformer等先进模型不仅可以提高准确性,还可以大大减少检测时间。传统方法涉及手动检查,无法扩展且容易出错。利用机器学习,特别是 Segformer模型,提供自动化且精确的解决方案。

2024-01-04 17:00:57 1304

原创 实战 | 使用OpenCV快速去除文档中的表格线条(步骤 + 源码)

测试图如下,目标是去除下面三张图中的表格线条,方便后续图像处理。

2023-12-28 19:27:45 1066

转载 实例化报错-OpenCvSharp.Internal.NativeMethods”的类型初始值设定项引发异常

在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

2023-12-26 17:48:39 376

原创 OpenCV如何以指定分辨率打开摄像头(C++ / Python代码演示)

使用OpenCV打开USB摄像头时经常会遇到一个问题:我的摄像头最高分辨率是1920 * 1080,为什么用OpenCV打开摄像头保存的图片每次都是640 *480?能不能以最高分辨率打开并保存图片呢?接下来就是代码中修改了,首先先看下默认情况,代码一般这么写,然后显示分辨率是640 * 320。保存的图片也是1280 * 720,文件大小2.63MB。保存的图片也是640 * 480,文件大小900KB。博主自己的摄像头最高支持1280 * 720。

2023-12-22 10:51:44 483

原创 实战 | OpenCV传统方法实现密集圆形分割与计数(详细步骤 + y源码)

实例图片来源于网络,目标是分割下图中圆形目标并计数。

2023-12-15 08:28:43 250

原创 VS2022配置C++ 20解决import std报错

注意选择ISO C++20 标准 (/std:c++20)也不能正常使用,一定选择c++ latest。(2)项目--属性--C/C++--语言--生成ISO C++23标准库模块--完成上面两个步骤,就可以正常使用import std代码了,运行成功!(1)项目--属性--常规--C++语言标准--

2023-12-14 17:46:48 728

原创 基于OpenCV的流水线包装箱检测计数应用(附源码)

案例简单一点,计数原理相同。这里直接用HSV范围提取的纸箱目标,没有用深度学习目标检测方法。另外计数时也不一定使用多边形,以直线和点的距离来计算也可以,核心还是避免重复计数。另外实际流水线上,这种简单应用还用不到视觉,红外传感器+单片机就可以搞定了,此例仅供参考。通过调试设置HSV范围如下,然后做HSV轮廓提取,提取纸箱轮廓。本文主要介绍基于OpenCV的流水线包装箱检测计数应用,并给出源码。

2023-12-10 20:24:36 451

原创 基于OpenCV+YOLOv5实现车辆跟踪与计数(附源码)

注意:这里为什么不直接用count += 1来计算数量?如果用count += 1会造成很多重复计数,而代码中利用了python集合的特性,add函数添加元素时,如果元素已经存在,则不重复添加,有效的避免了重复计数问题。此时将车辆id编号添加到集合area_1中,然后通过len(area_1)作为车辆计数值。【3】计数原理:判断绿色点是否在黄色四边形内,如果在内计数+1。【1】划定一个多边形区域(黄色),车辆经过此区域则计数;tracker.py代码:​​​​​​​。main.py代码:​​​​​​​。

2023-11-27 21:01:24 827

原创 Halcon转OpenCV实例--保险丝颜色识别(附源码)

实现思路也比较简单,先将图像转到HSV颜色空间,然后分离S通道做阈值(60~255),再分离H通道根据不同颜色的H范围来判定颜色。本文主要介绍Halcon转OpenCV实例--保险丝颜色识别(附源码)。【3】S通道做二值化(60~255),然后通过轮廓查找提取每个保险丝的ROI。【4】对每个ROI做颜色判断:通过判断H通道特定范围内的像素数量。【2】通道分离, 分离出H, S, V通道。实现代码与测试效果:​​​​​​​。【1】图像转到HSV颜色空间。

2023-10-24 08:28:00 554

原创 OpenCV4.8 GPU版本CMake编译详细步骤 与CUDA代码演示

本文将详细介绍如何使用CMake编译OpenCV4.8 CUDA版本并给出Demo演示,方便大家学习使用。

2023-09-08 20:19:11 5121 2

转载 实战 | 用OpenCV实现开关中值滤波去除周期性线状噪声(步骤 + 源码)

我们都知道中值滤波可以去除图像中的脉冲噪声或椒盐噪声,类似下图:我们可以使用OpenCV提供的中值滤波函数就可以轻松将噪声滤除,并较好的保留图像边缘特征。

2023-08-13 10:31:35 379

转载 实战 | OpenCV4.8一维码检测与解码使用演示(步骤 + 源码)

条形码(1D-Barcode)是现实生活中识别商品的主要技术。常见的条形码是由反射率相差很大的黑条和白条排列的平行线图案组成。条码识别是对条码进行水平方向扫描,得到一串由不同宽度、不同颜色的条组成的二进制码,即条码的代码信息。通过匹配各种条码编码方式,可以对条码的内容进行解码。目前,OpenCV4.8支持 EAN-8、EAN-13、UPC-A 和 UPC-E几种条码类型。

2023-08-13 10:29:05 2552 2

转载 Qt+OpenCV显示图片的两种方法(代码演示)

OpenCV本身提供了一些GUI方法,但使用起来仍有局限性。以C++为例,实际应用中我们大多会使用Qt或MFC来编写GUI程序。相较之下,Qt比MFC更易上手且界面样式更丰富,所以越来越多的C++视觉开发者和公司都倾向用Qt做视觉项目的GUI。Qt中显示OpenCV图像常用的方法有两种,一种是使用QLabel显示,另一种是QGraphicsView显示。

2023-08-13 10:24:33 1859 1

转载 实战 | OpenCV中更稳更快的找圆方法--EdgeDrawing使用演示(详细步骤 + 代码)

本文主要介绍如何在OpenCV中使用EdgeDrawing模块查找圆(详细步骤 + 代码)。

2023-08-13 10:21:13 1248 2

转载 实战 | OpenCV实现的低对比度目标提取(步骤 + 源码)

本文主要介绍一个OpenCV实现的低对比度目标提取的案例(步骤 + 源码)。

2023-08-13 10:16:59 453

原创 OpenCvSharp (C# OpenCV) 二维码畸变矫正--基于透视变换(附源码)

本文主要介绍如何使用OpenCvSharp中的透视变换来实现二维码的畸变矫正。

2023-07-26 19:05:06 2555

OpenCV stitching_detailed.cpp解读

OpenCV stitching_detailed.cpp例程的详细解读,包括怎么分析程序和拼接的参数,步骤解读

2020-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除