System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法技术_技高网

一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法技术

技术编号:44261683 阅读:6 留言:0更新日期:2025-02-14 22:06
本发明专利技术公开了一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法,具体涉及水下动态目标检测识别技术领域,包括以下步骤:步骤一:首先对ESP32‑CAM进行初始化操作,设置关键参数,定义发送图片的包分割大小,每个图像包最大1024字节,设置采样图片尺寸大小和分辨率为800*600,设置照片的质量,10‑63越小照片质量最好,若出现图片颜色奇怪或者被劈成几份,需要调高数值,每次采集一张图片,以确保采集到的图像质量和流畅度满足需求。本发明专利技术能够将捕获的水下图像信号通过ESP32CAM的摄像头WIFI通信实时传输到基于C#编写的上位机系统,确保了数据传输的实时性和准确性,可以对水下动态目标的实时检测与识别,实际使用效果较好。

【技术实现步骤摘要】

本专利技术涉及水下动态目标检测识别,更具体地说,本专利技术涉及一种基于c#上位机和esp32cam的水下动态目标检测与识别方法。


技术介绍

1、随着科技的飞速进步和人类对自然探索的不断深入,人类逐渐依赖于使用自动化的无人水下设备在海洋中辅助开展一系列水下作业,例如通过无人水下捕捞装置实现对鱼类、贝类等的自动捕捞,避免人工潜水捕捞带来的危险性以及对身体的伤害,同时提升了捕捞效率。通过水下清扫机器人可以进行海洋垃圾打捞,对海洋环境进行净化,水下设备的使用离不开水下目标识别系统,在执行水下任务时,机器人需要采集包括水下图像、水质数据以及声学信号等多种信息,以便对水下环境进行全面、准确的分析和识别,现有的水下目标识别检测方法无法实现对水下动态目标的实时检测与识别,所以实际使用效果较差。

2、因此,亟需一种基于c#上位机和esp32cam的水下动态目标检测与识别方法,以解决上述问题。


技术实现思路

1、为了克服现有技术的上述缺陷,本专利技术提供一种基于c#上位机和esp32cam的水下动态目标检测与识别方法,本专利技术能够将捕获的水下图像信号通过esp32cam的摄像头wifi通信实时传输到基于c#编写的上位机系统,确保了数据传输的实时性和准确性,可以对水下动态目标的实时检测与识别,实际使用效果较好,解决了上述
技术介绍
中提出的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种基于c#上位机和esp32cam的水下动态目标检测与识别方法,包括以下步骤:

3、步骤一:首先对esp32-cam进行初始化操作,设置关键参数,定义发送图片的包分割大小,每个图像包最大1024字节,设置采样图片尺寸大小和分辨率为800*600,设置照片的质量,10-63越小照片质量最好,若出现图片颜色奇怪或者被劈成几份,需要调高数值,每次采集一张图片,以确保采集到的图像质量和流畅度满足需求;

4、步骤二:esp32-cam连接到指定的wifi网络,若连接成功,则会获取到自己在网络中的ip地址,为后续的数据传输做好准备;

5、步骤三:esp32-cam会建立起与上位机的udp连接,udp协议因其高效、轻量级的特点,非常适合用于实时图像数据的传输,通过udp传输,esp32-cam能够将采集到的图像数据实时、快速地发送到上位机;

6、步骤四:esp32-cam进入循环采集模式,会不断地从摄像头中捕获新的图像数据,并通过已经建立的udp通信,将这些数据实时传输到上位机,这些数据以字节流的形式到达,需要进行适当的解码和格式转换,以便后续处理;

7、步骤五:服务器端使用c#编写上位机程序,负责接收客户端发送的图像数据,并进行后续的处理和识别工作,c#可读性好,易用性强,跨平台,上位机程序加载预先训练好的yolov5n模型,利用已装载的yolov5n模型,对接收到的图像进行水下动态物体的检测和识别,这一过程包括图像预处理、模型推理和后处理,最终输出识别结果;

8、步骤六:将识别结果以可视化的形式展示给用户,通过picturebox控件显示带有标注的识别图像。

9、在一个优选的实施方式中,所述上位机软件c#主要负责的内容包括:

10、(a)图像数据接收:负责从esp32-cam设备接收实时的图像数据流;

11、(b)图像解码与展示:对上一步接收到的图像数据进行解码处理,并在软件界面上实时展示解码后的图像;

12、(c)目标检测处理:将解码完成的图像数据传递给后台的yolov5n目标检测模型进行处理,此过程涉及图像数据的格式转换和预处理,以满足yolov5n模型的输入要求;

13、(d)检测结果展示与保存:接收yolov5n模型返回的目标检测结果,并在原图像上标注出检测到的目标,同时将这些结果保存到本地文件中,以供后续分析和使用。

14、在一个优选的实施方式中,所述udp用于完成无线通信模块对无线网络的数据包的接收和分析,实现该功能的代码包括:

15、server_client=newsocket(addressfamily.internetwork,sockettype.dgram,protocoltype.udp),创建一个udp协议的socket,使用ipv4协议族,数据报式的socket类型;

16、server_client.bind(newipendpoint(ipaddress.parse(this.textbox1.text),int.parse(this.textbox2.text))),将socket绑定到本地ip地址和端口上,使用了窗体中的两个文本框(textbox1和textbox2)来获取ip地址和端口号;

17、(c)rthread = new thread(receivemsg),创建一个线程(rthread),用于执行接收udp数据包的逻辑;

18、(d)endpoint point = new ipendpoint(ipaddress.any, 0),用于接收发送方的数据;

19、(e)int length = server_client.receivefrom(buffercatch, ref point),获取socket数据;

20、(f)if ((buffercatch[0] =='o') && (buffercatch[1] =='k')),当接收到ok信息了,表示马上就会接收下一个包,同时上一次传送的图片信息已接收完毕了。

21、在一个优选的实施方式中,所述wifi模块配置包括:

22、(a)wifi.mode(wifi_sta),连接wifi,模式采用sta模式;

23、(b)wifi.begin(ssid,password),连接路由器,ssid是被连接的wifi的名称,password是被连接的wifi的密码;

24、(c)成功连接上wifi,则会根据指令打印出本地ip地址,如果连接不成功,就会出现一个失败的连接,并且在1000毫秒之后重新建立一个连接。

25、在一个优选的实施方式中,所述udp配置包括:

26、(a)if (udp.connect(ipaddress(192,168,43,14),8080)),借助wifi模块实现与上位机的udp通讯连接,其中,192.168.43.14是上位机的ip地址,8080是上位机的端口号;

27、(b)serial.println("udp connected"),udp成功连接上,则打印出udpconnected的字符。

28、本专利技术的技术效果和优点:

29、本专利技术首先对esp32-cam进行初始化操作,设置关键参数,定义发送图片的包分割大小,每个图像包最大1024字节,设置采样图片尺寸大小和分辨率为800*600,设本文档来自技高网...

【技术保护点】

1.一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法,其特征在于:所述上位机软件C#负责的内容包括:

3.根据权利要求1所述的一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法,其特征在于:所述UDP用于完成无线通信模块对无线网络的数据包的接收和分析,实现该功能的代码包括:

4.根据权利要求1所述的一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法,其特征在于:所述WiFi模块配置包括:

5.根据权利要求1所述的一种基于C#上位机和ESP32CAM的水下动态目标检测与识别方法,其特征在于:所述UDP配置包括:

【技术特征摘要】

1.一种基于c#上位机和esp32cam的水下动态目标检测与识别方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于c#上位机和esp32cam的水下动态目标检测与识别方法,其特征在于:所述上位机软件c#负责的内容包括:

3.根据权利要求1所述的一种基于c#上位机和esp32cam的水下动态目标检测与识别方法,其特征在于:...

【专利技术属性】
技术研发人员:赵凌洋朱继红
申请(专利权)人:常熟市阳澄湖特种水产有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1