YOLOv5调用海康工业相机实时检测

2024-08-26 21:04

本文主要是介绍YOLOv5调用海康工业相机实时检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、调用海康工业摄像头

1.1 DirectShow插件安装

 1.2 查找摄像头编号

1.3 摄像头调用测试

二、修改YOLOv5相关参数

2.1 detect.py修改

 2.2 datasets.py修改


一、调用海康工业摄像头

        现在可直接利用cv2.VideoCapture()接口调用海康机器人工业相机,首先在官网下载机器视觉工业相机客户端MVS【免费】机器视觉工业相机客户端MVS4.3.2版本资源-CSDN文库,进行安装。

1.1 DirectShow插件安装

        我安装在D盘里的,但是D盘路径下没有,我在C盘这个路径下找到的,我建议就在C盘运行,因为我复制到D盘运行并不起效,这也导致我尝试了很久,最终在C盘运行后完成。

        右键InstallDSSvc_x64.bat,以管理员身份运行,运行后显示终端,然后会自动关闭。至此DirectShow安装完成

 1.2 查找摄像头编号

        根据路径查找graphedt.exe,然后双击运行graphedt.exe文件。

 进入页面后根据顺序点击,所展示的就是你摄像头编号顺序,从0开始计数。(但是我感觉这个顺序不是很准确,我的“0”是USB那个摄像头,“1”才是海康工业相机,仅供参考,大家可以多尝试一下。)

1.3 摄像头调用测试

        完成上述工作后,可使用如下代码进行测试,看是否能正确调用工业相机。

import cv2cap = cv2.VideoCapture(1)  # 调用摄像头‘0’一般是打开电脑自带摄像头,‘1’是打开外部摄像头(只有一个摄像头的情况)if False == cap.isOpened():print(0)
else:print(1)cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)  # 设置图像宽度
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1024)  # 设置图像高度
cap.set(cv2.CAP_PROP_FPS, 20)  # 设置帧率
# 显示图像
while True:ret, frame = cap.read()# print(ret)  #########图像不处理的情况frame_1 = cv2.resize(frame, (640, 512))cv2.imshow("frame", frame_1)input = cv2.waitKey(1)if input == ord('q'):breakcap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 销毁窗口

        运行上面的代码千万要注意修改你图像大小,图像大小可在MVS终端进行查看,在运行测试代码时应断开MVS终端连接,避免冲突。

        如果测试代码成功运行,那么基本工作就完成了!!!

二、修改YOLOv5相关参数

2.1 detect.py修改

        将parse_opt中的source修改为相机编号,我这里设置为1。

 2.2 datasets.py修改

        对utils/datasets.py文件进行修改,定位到LoadStreams类,设置图像大小,注意图像大小一定要是32的倍数,同样和MVS终端上要对应。

 

 至此YOLOv5调用海康工业摄像头就完成了!大家有什么问题,欢迎在评论区交流!!

这篇关于YOLOv5调用海康工业相机实时检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109671

相关文章

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

python如何调用java的jar包

《python如何调用java的jar包》这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录一、安装包二、使用步骤三、代码演示四、自己写一个jar包五、打包步骤六、方法补充一、安装包pip3 install

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性