时间:2025-03-21 来源:FPGA_UCY 关于我们 0
本发明专利技术公开了一种基于FPGA的虚拟摄像头实验系统和方法,所述系统由相互连接的远程FPGA板卡和本地电脑构成;远程FPGA板卡,用于将接收的本地电脑发送的图像数据输出,以供用户通过使用图像数据,编写FPGA程序对图像数据进行处理,以完成所需的实验;本地电脑,用于提供本地电脑的客户端程序所必须的硬件和软件环境,并且为用户提供FPGA开发所需的实验环境;本地电脑的虚拟摄像头显示界面用于显示虚拟摄像头的实时图像;本地电脑的图像处理结果显示界面用于显示经过远程FPGA板卡处理后的图像。本发明专利技术能够确保所有用户采集的图像数据一致,得到的实验结果更加准确可靠,避免实验设备资源的浪费。设备资源的浪费。设备资源的浪费。
全部详细技术资料下载
【技术实现步骤摘要】
一种基于FPGA的虚拟摄像头实验系统和方法
[0001]本专利技术涉及FPGA
,特别是一种基于FPGA的虚拟摄像头实验系统和方法。
技术介绍
[0002]通常在使用FPGA开发板和摄像头作为图像处理相关课程的实验课教具时,用户通过在FPGA芯片上编程,采集摄像头上的图像数据并进行处理。这类实验通常在线下开展,每个用户配备一块开发板和摄像头,FPGA开发板和摄像头必须要在实验人员旁边。当FPGA开发板位于远程时(比如FPGA开发板价格比较贵重,部署于云端采用共享的方式给用户使用),则无法进行这种实验,因为摄像头不在本地,用户无法对摄像头所采集的画面进行控制。
[0003]在使用FPGA开发板和摄像头进行实验的过程中,用户使用摄像头采集实验输入数据,由于每个用户单独使用一套FPGA开发板和的摄像头,其所采集的图像数据会不一致,得到的实验结果可能有差异。特别是用在考试或竞赛的场合,不同的摄像头数据源会造成实验难度的不一致。
技术实现思路
[0004]鉴于此,本专利技术提供一种基于FPGA的虚拟摄像头实验系统和方法,以解决上述技术问题。
[0005]本专利技术公开了一种基于FPGA的虚拟摄像头实验系统,其由相互连接的远程FPGA板卡和本地电脑构成;
[0006]所述远程FPGA板卡,用于将接收的本地电脑发送的图像数据从远程FPGA板卡内部构建的虚拟摄像头接口输出,以供用户通过该虚拟摄像头接口使用图像数据,编写FPGA程序对图像数据进行处理,以完成所需的实验;
[0007]所述本地电脑,用于提供本地电脑的客户端程序所必须的硬件和软件环境,并且为用户提供FPGA开发所需的实验环境;
[0008]所述本地电脑的虚拟摄像头显示界面,用于显示虚拟摄像头的实时图像;
[0009]所述本地电脑的图像处理结果显示界面,用于显示经过远程FPGA板卡处理后的图像。
[0010]进一步地,所述本地电脑,用于运行图形操作系统,运行FPGA程序开发所需的软件,调试远程FPGA板卡;
[0011]所述本地电脑配备本地摄像头或网络摄像头或具备文件系统并存储图像处理实验所必须的视频、图片文件;
[0012]所述本地电脑的客户端程序,用于获取本地摄像头、网络摄像头、本地视频或图片文件的图像数据;用于产生虚拟摄像头所需的图像数据流并将数据流发送至远程FPGA板卡。
[0013]进一步地,所述远程FPGA板卡包括由存储模块和FPGA芯片;
[0014]所述存储模块,用于存储本地电脑发送的虚拟图像数据以及保存用户实验模块处理得到的图像数据;所述FPGA芯片,用于供用户进行图像处理实验;
[0015]所述FPGA芯片包括处理器、存储控制模块、VCAM模块、用户实验模块;处理器通过存储控制模块与存储模块连接;处理器通过VCAM模块与用户试验模块连接;用户试验模块通过存储控制模块与存储模块连接;处理器与用户实验模块连接。
[0016]进一步地,所述处理器与本地电脑连接,用于接收本地电脑发送的TCP包,并将虚拟摄像头图像数据解压为位图数据格式,将位图数据通过存储控制模块写入存储模块中;其中,TCP包包含虚拟摄像头图像数据;
[0017]所述VCAM模块,用于读取存储模块内存储的位图数据,并通过虚拟摄像头接口将位图数据输出到用户实验模块;
[0018]所述用户实验模块,用于通过虚拟摄像头接口获取图像数据,并对获取的图像数据进行图像处理得到图像数据M,然后通过存储控制模块将图像数据M写入存储模块;
[0019]所述处理器,用于读取存储模块中的图像数据M,并将其进行压缩并发送至本地电脑。
[0020]进一步地,所述处理器具体用于:
[0021]将位图数据在存储模块中的存储起始地址、存储结束地址、存储完成状态写入VCAM模块的寄存器中;
[0022]所述VCAM模块具体用于:
[0023]当检测到VCAM模块的寄存器中的存储状态为预设状态后,通过存储控制模块读取存储模块中的存储起始地址和存储结束地址之间的位图数据,并使用虚拟摄像头将位图数据时序输出。
[0024]进一步地,所述用户实验模块具体用于:
[0025]记录图像数据M的存储起始地址和存储结束地址;并将其写入用户实验模块中的寄存器中;
[0026]所述处理器还具体用于:
[0027]检测到用户实验模块中的寄存器的存储状态为预设状态后,根据图像数据M的存储起始地址和存储结束地址,读取存储模块中的图像数据M;
[0028]处理器将图像数据M压缩为图像文件Y,发送至本地电脑进行显示。
[0029]本专利技术还公开了一种基于FPGA的虚拟摄像头实验方法,其包括:
[0030]步骤1:从虚拟摄像头的数据源中获取一帧图像数据;
[0031]步骤2:远程FPGA板卡的处理器在接收到图像文件后,将其解压为位图数据;其中,图像文件为压缩后的图像数据;
[0032]步骤3:远程FPGA板卡的处理器将位图数据通过存储控制模块写入存储模块中,并且记录其存储起始地址和存储结束地址;
[0033]步骤4:VCAM模块在检测到VCAM模块的寄存器A3的存储完成状态变为预设状态,即寄存器A3的值为0x01后,通过存储控制模块在存储模块中从存储起始地址开始,依次读取位图数据,并使用虚拟摄像头接口将读取的数据按时序输出至用户试验模块;当读取的数据地址为存储结束地址后,停止读取并将寄存器A3写入值0x00;
[0034]步骤5:用户实验模块获取位图数据后,进行所期望的图像处理实验,将经过图像
处理得到的图像数据M通过存储控制模块写入存储模块中;并且记录其存储起始地址,存储结束地址;
[0035]步骤6:用户实验模块将和分别写入用户实验模块中的寄存器B1和寄存器B2,并且将寄存器B3写入值0x01;
[0036]步骤7:处理器检测到寄存器B3值为预设状态后,读取存储模块中起始地址到结束地址对应的图像数据M;在数据读取完成后,处理器将用户实验模块中的寄存器B3写入值0x00,用于表示数据已经读取完成;
[0037]步骤8:处理器将图像数据M压缩为图像文件Y,发送给本地电脑进行显示。
[0038]进一步地,所述步骤1之前,还包括:
[0039]本地电脑的客户端程序与远程FPGA板卡建立连接;
[0040]用户通过客户端程序选择虚拟摄像头的数据源;其中,数据源分为设备类数据源和文件类数据源两种类型,设备类数据源包括本地摄像头和网络摄像头;文件类数据源包括本地或网络视频文件、本地或网络图片文件;
[0041]用户选择数据源后,客户端程序打开该设备类数据源或文件类数据源。
[0042]
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的虚拟摄像头实验系统,其特征在于,由相互连接的远程FPGA板卡和本地电脑构成;所述远程FPGA板卡,用于将接收的本地电脑发送的图像数据从远程FPGA板卡内部构建的虚拟摄像头接口输出,以供用户通过该虚拟摄像头接口使用图像数据,编写FPGA程序对图像数据进行处理,以完成所需的实验;所述本地电脑,用于提供本地电脑的客户端程序所必须的硬件和软件环境,并且为用户提供FPGA开发所需的实验环境;所述本地电脑的虚拟摄像头显示界面,用于显示虚拟摄像头的实时图像;所述本地电脑的图像处理结果显示界面,用于显示经过远程FPGA板卡处理后的图像。2.根据权利要求1所述的基于FPGA的虚拟摄像头实验系统,其特征在于,所述本地电脑,用于运行图形操作系统,运行FPGA程序开发所需的软件,调试远程FPGA板卡;所述本地电脑配备本地摄像头或网络摄像头或具备文件系统并存储图像处理实验所必须的视频、图片文件;所述本地电脑的客户端程序,用于获取本地摄像头、网络摄像头、本地视频或图片文件的图像数据;用于产生虚拟摄像头所需的图像数据流并将数据流发送至远程FPGA板卡。3.根据权利要求1所述的基于FPGA的虚拟摄像头实验系统,其特征在于,所述远程FPGA板卡包括由存储模块和FPGA芯片;所述存储模块,用于存储本地电脑发送的虚拟图像数据以及保存用户实验模块处理得到的图像数据;所述FPGA芯片,用于供用户进行图像处理实验;所述FPGA芯片包括处理器、存储控制模块、VCAM模块、用户实验模块;处理器通过存储控制模块与存储模块连接;处理器通过VCAM模块与用户试验模块连接;用户试验模块通过存储控制模块与存储模块连接;处理器与用户实验模块连接。
4.根据权利要求3所述的基于FPGA的虚拟摄像头实验系统,其特征在于,所述处理器与本地电脑连接,用于接收本地电脑发送的TCP包,并将虚拟摄像头图像数据解压为位图数据格式,将位图数据通过存储控制模块写入存储模块中;其中,TCP包包含虚拟摄像头图像数据;所述VCAM模块,用于读取存储模块内存储的位图数据,并通过虚拟摄像头接口将位图数据输出到用户实验模块;所述用户实验模块,用于通过虚拟摄像头接口获取图像数据,并对获取的图像数据进行图像处理得到图像数据M,然后通过存储控制模块将图像数据M写入存储模块;所述处理器,用于读取存储模块中的图像数据M,并将其进行压缩并发送至本地电脑。5.根据权利要求4所述的基于FPGA的虚拟摄像头实验系统,其特征在于,所述处理器具体用于:将位图数据在存储模块中的存储起始地址、存储结束地址、存储完成状态写入VCAM模块的寄存器中;所述VCAM模块具体用于:当检测到VCAM模块的寄存器中的存储状态为预设状态后,通过存储控制模块读取存储模块中的存储起始地址和存储结束地址之间的位图数据,并使用虚拟摄像头将位图数据时
序输出。6.根据权利要求4所述的基于FPGA的虚拟摄像头实验系统,其特征在于,所述用户实验模块具体用于:记录图...
【专利技术属性】
技术研发人员:高培,黄超,田亮,万毅,彭诗翰,杨雄,周越松,张征宇,
申请(专利权)人:重庆海云捷迅科技有限公司,
类型:发明
国别省市:
全部详细技术资料下载 我是这个专利的主人