一种V4L2的数据转换方法技术

技术编号:26178830 阅读:35 留言:0更新日期:2020-10-31 14:31
本发明专利技术涉及V4L2接口技术领域,公开了一种V4L2的数据转换方法,包括主控制单元和存储单元,该方法中,主控制单元将外部数据按照固定大小的数据包从输入端口写入到存储单元,当第三方库需要通过V4L2接口读取存储单元存储的外部数据时,主控制单元将外部数据按照V4L2格式从输出端口发送,进而将非标准的V4L2接口数据转换为标准的V4L2接口数据。

【技术实现步骤摘要】
一种V4L2的数据转换方法
本专利技术涉及V4L2接口
,具体涉及一种V4L2的数据转换方法。
技术介绍
V4L2(videoforlinuxtwo)是linux为视频设备提供的一套标准接口,使满足这一标准的设备在应用程序层具有完全的通用性和易扩展性。其中,通用性表现在可以使用同一个程序完成所有基于V4L2驱动接口设备的查看;易扩展性表现在很容易与其它第三方库使用,如opencv、gstereamer和halcon很容易访问这种设备。虽然带有V4L2接口的设备比较好使用,然而复杂的V4L2驱动程序却限制了V4L2接口的使用,对于一些不支持V4L2接口的网络视频设备如工业相机,第三方库很难兼容不同生产厂家的工业相机。
技术实现思路
鉴于
技术介绍
的不足,本专利技术是提供了一种V4L2的数据转换方法,所要解决的技术问题是目前第三方库很难对所有不支持V4L2接口的网络视频设备进行数据交换。为解决以上技术问题,本专利技术提供了如下技术方案:一种V4L2的数据转换方法,包括主控制单元和存储单元,该方法的步骤如下:S1:主控制单元将外部数据从输入端口写入到存储单元;S2:主控制单元通过输出端口将存储单元存储的外部数据按照V4L2的接口格式发送出去。进一步,本专利技术还包括输入端口打开单元、输入参数设置单元、数据写入单元和输入端口关闭单元,步骤S1具体如下:S10:主控制单元在接收到输入端口的请求打开命令时,主控制单元调用输入端口打开单元来打开输入端口;>S11:输入端口打开后,主控制单元调用输入参数设置单元来设置输入端口的每次写入数据大小;S12:主控制单元调用数据写入单元将外部数据按照设置的写入数据大小从输入端口依次写入到存储单元;S13:外部数据写入完成后主控制单元调用输入端口关闭单元将输入端口关闭。进一步,本专利技术还包括输出参数设置单元、输出端口打开单元、数据读取单元和输出端口关闭单元,步骤S2具体如下:S20:主控制单元在接收到输出端口的请求打开命令时,主控制单元调用输出端口打开单元来打开输出端口;S21:输出端口打开后,主控制单元调用输出参数设置单元来设置输出端口的发送数据大小;S22:主控制单元调用数据读取单元将存储单元存储的外部数据按照设置的发送数据大小从输出端口依次发送出去;S23:存储单元存储的外部数据发送完成后,主控制单元调用输出端口关闭单元将输出端口关闭。本专利技术与现有技术相比所具有的有益效果是:通过此方法,第三方库能够通过V4L2接口与不支持V4L2接口的网络视频设备进行数据交互,进而使不支持V4L2接口的网络视频设备能够应用在多种场合。附图说明本专利技术有如下附图:图1为实施例中实现数据转换的结构框图;图2为实施例中的主控制单元向存储单元写入外部数据的流程图;图3为实施例中的主控制单元通过输出端口输出存储单元存储的外部数据的流程图。具体实施方式现在结合附图对本专利技术作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本专利技术的基本结构,因此其仅显示与本专利技术有关的构成。如图1所示,一种V4L2的数据转换方法,包括主控制单元、输入端口打开单元、输入参数设置单元、数据写入单元、输入端口关闭单元、存储单元、输出参数设置单元、输出端口打开单元、数据读取单元和输出端口关闭单元,该方法的步骤如下:S1:主控制单元将外部数据从输入端口写入到存储单元;S2:主控制单元通过输出端口将存储单元存储的外部数据按照V4L2的接口格式发送出去。如图2所示,步骤S1具体如下:S10:主控制单元在接收到输入端口的请求打开命令时,主控制单元调用输入端口打开单元来打开输入端口;S11:输入端口打开后,主控制单元调用输入参数设置单元来设置输入端口的写入数据大小;S12:主控制单元调用数据写入单元将外部数据按照设置的写入数据大小从输入端口写入到存储单元;S13:外部数据写入完成后主控制单元调用输入端口关闭单元将输入端口关闭。结合步骤S10、S11、S12和S13,步骤S1实际是主控制单元将外部数据分成若干个固定大小的数据包,然后通过数据写入单元将每个数据包写入存储单元,其中数据包的大小通过输入参数设置单元来设置。例如海康的工业相机很多是网络接口,而网络接口没办法直接在opencv、halcon或者Gstramer直接使用,如果工业相机是2048*1024幅面大小,通过输入参数设置单元设置存储单元中的缓冲区大小为2048*1024,格式为Y8,然后将得到的网络数据写入到存储单元。因此当第三方非标准V4l2设备需要提供标准的V4l2接口时,只要确定发送存储单元的数据缓冲区大小和类型即可。如图3所示,步骤S2具体如下:S20:主控制单元在接收到输出端口的请求打开命令时,主控制单元调用输出端口打开单元来打开输出端口;S21:输出端口打开后,主控制单元调用输出参数设置单元来设置输出端口的发送数据大小;S22:主控制单元调用数据读取单元将存储单元存储的外部数据按照设置的发送数据大小从输出端口依次发送出去;S23:存储单元存储的外部数据发送完成后,主控制单元调用输出端口关闭单元将输出端口关闭。结合步骤S20、S21、S22和S23,当第三方库需要通过V4L2接口来读取存储单元存储的外部数据时,主控制单元每次通过数据读取单元从输出端口发送固定的数据包,直至将要读取的外部数据发送完成,其中,每个数据包的大小由输出参数设置单元按照V4L2接口的数据格式来设置,进而将非标准的V4L2接口数据转换为标准的V4L2接口数据。综上,通过本专利技术所提供的数据转换方法,第三方库能够通过V4L2接口与不支持V4L2接口的网络视频设备进行数据交互,进而使不支持V4L2接口的网络视频设备能够应用在多种场合。上述依据本专利技术为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项专利技术技术思想的范围内,进行多样的变更以及修改。本项专利技术的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。本文档来自技高网...

【技术保护点】
1.一种V4L2的数据转换方法,其特征在于:包括主控制单元和存储单元,该方法的步骤如下:/nS1:主控制单元将外部数据从输入端口写入到存储单元;/nS2:主控制单元通过输出端口将存储单元存储的外部数据按照V4L2的接口格式发送出去。/n

【技术特征摘要】
1.一种V4L2的数据转换方法,其特征在于:包括主控制单元和存储单元,该方法的步骤如下:
S1:主控制单元将外部数据从输入端口写入到存储单元;
S2:主控制单元通过输出端口将存储单元存储的外部数据按照V4L2的接口格式发送出去。


2.根据权利要求1所述的一种V4L2的数据转换方法,其特征在于:还包括输入端口打开单元、输入参数设置单元、数据写入单元和输入端口关闭单元,步骤S1具体如下:
S10:主控制单元在接收到所述输入端口的请求打开命令时,主控制单元调用输入端口打开单元来打开所述输入端口;
S11:所述输入端口打开后,主控制单元调用输入参数设置单元来设置所述输入端口的每次写入数据大小;
S12:主控制单元调用数据写入单元将外部数据按照设置的写入数据大小依次从...

【专利技术属性】
技术研发人员:杨从新颜令振李永传
申请(专利权)人:无锡和博永新科技有限公司
类型:发明
国别省市:江苏;32

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

1