当前位置: 首页 > news >正文

网站管理与建设嘉兴免费网站制作

网站管理与建设,嘉兴免费网站制作,不错的网站建设公司,淘宝seo是什么意思啊本文主要介绍如何基于FPGA实现视频的任意角度旋转#xff0c;关于视频180度实时旋转、90/270度视频无裁剪旋转#xff0c;请见本专栏前面的文章#xff0c;旋转效果示意图如下#xff1a; 为了实时对比旋转效果#xff0c;采用分屏显示进行处理#xff0c;左边代表旋转…本文主要介绍如何基于FPGA实现视频的任意角度旋转关于视频180度实时旋转、90/270度视频无裁剪旋转请见本专栏前面的文章旋转效果示意图如下 为了实时对比旋转效果采用分屏显示进行处理左边代表旋转前的视频在屏幕中的位置右边代表旋转后的视频在屏幕中的位置。 分屏显示的实现方式见本专栏前面的文章详解。 本旋转方案不仅仅适用于国产安路FPGA只有板卡上带有支持AXI4总线操作DDR的IP核均可以进行方案移植 关于FPGA实现视频180度实时旋转点击跳转文章链接 关于FPGA实现视频90度/270度无裁剪旋转点击跳转文章链接 一、前言 后续文章的工程代码不在免费上传至Github方案是开源的工程代码可以私信我或者是评论区留言有偿提供价格不贵此文章对应的工程文件为 88。前面已经发布的文章方案和代码均是开源的可以直接去github下载。 免费内容太容易被剽窃了付费是某种意义上的版权保护 付费即意味着责任有利于提高文章质量、同时也能提高更新动力。 二、设计概述 除去DDR3控制器、FIFO等常用IP本设计所用到的主要的IP模块如下。 IP功能来源uidbuf基于FDMA信号时序的缓存控制器适合用于基于RGB时序的视频数据或者数据流传输米联客uiFDMA基于AXI总线的自定义内存控制器简化AXI总线的控制完成数据的搬运米联客coor_trans旋转坐标计算模块该模块使用查找表的方式存储了不同角度的sin、cos值公众号数字积木uidbuf_r_active_rotate在uidbuf的基础上进行更改用于视频任意角度旋转个人开发uivtc_video_rotate在uivtc的基础上进行更改读取两路视频一路是旋转之前的视频一路是旋转之后的视频个人开发uivtc_reduce_frame_rate在uivtc的基础上进行更改视频降帧处理在不改变时钟频率的情况下通过调整参数改变视频数据读写帧率个人开发 三、系统实现方案 3.1 理论分析 前文提到对于90/270度比较有规律的旋转我们可以采用正向映射的方案进行处理把输入进的待旋转视频数据依次写入旋转后对应的像素点位置。 而对于任意角度旋转不可以采用正向映射因为如果采用正向映射由于计算误差以及像素对应的DDR地址都是一个一个的整数会导致有些地址没有被填充数据从而产生空洞。 而逆向映射便不会有这种现象产生因为我们拿旋转后的图像坐标去对应原图像的像素坐标即便有计算误差的存在但是总是可以对应到的无非就是对应的不是绝对的精确。所以便可以保证旋转后的图像每个地址都被填充了像素数据。 下图给出正向旋转和逆向旋转的区别实际上板验证和这个结果类似。该图来自于一篇硕士论文 在使用安路的板卡时其DDR3 IP控制器从发起写请求到一个像素点完全写入需要的时间比从发起读请求到一个像素点数据被读出需要的时间要短很多。所以在相同的分辨率情况下正向映射可以达到的帧率比逆向映射要高。 在进行移植时能达到多高的帧率需要自行分析一下。 3.2 数据流 为了处理输入进的60hz的待旋转视频视频像素点的数据流如上图所示其经历了二进二出DDR3最终输出至显示器进行显示。 第一次写DDR3在前文90/270度旋转实现方式中提到在突发传输长度为1的情况下为了保证每一次只传输一个像素数据我们把DDR3中存储的128bit数据全部设置为某一个像素点的数据所以第一次写DDR3的目的是先把视频像素点数据写入DDR3并且保证一个像素点的数据16bit对应DDR3中存储的128bit数据方便后续一个一个读取像素点。第一次读DDR3以一个较低的帧率根据旋转后的图像坐标去对应原图中的图像坐标一个一个读取原图中的像素点如果该像素点对应不到原图像中的坐标则赋值为16‘hffff即为白色。第二次写DDR3把刚刚经过旋转排列好的像素点再次写入DDR3第二次读DDR3以正常的帧率把视频像素数据读出即可。 上述处理的核心在于旋转模块的实现。 3.3 uidbuf_r_active_rotate模块 此模块采用逆向映射的方法依次计算旋转后的像素点坐标在原图像中的位置然后通过FDMA读取原图像的数据实现任意角度的旋转功能相比于uibuf模块不同的部分用红框圈出。 此方案中使用AXI4总线读写DDR时AXI4总线的数据宽度为128像素点的数据位宽为16由于DDR3采用的是8-bit预取DDR3的位宽配置为16bit所以在突发长度为1的情况下一次可以读出8个16bit数据128bit在常规情况下一次能读出8个像素点数据。 然而在进行旋转时为了保证每一次只传输一个像素数据我们把这128bit全部设置为某一个像素点的数据即可。 该模块中核心的部分在于地址计算以及像素点数据的赋值详见源代码。 四、移植注意事项 1、本工程视频源输入的视频分辨率为1280×72060hz 2、此模块实现的是视频自动旋转每四帧后旋转角度1可以自行修改选择从外部传入参数控制旋转角度 五、上板验证 视频旋转效果图如下
http://www.w-s-a.com/news/246789/

相关文章:

  • 网站开发先写什么后写什么做网站公司专业
  • 中山网站建设文化外贸公司的网站建设模板
  • 美食网站开发开题报告wordpress第三方支付接口
  • 有哪些网站可以卖自己做的图片简洁大方的网站首页
  • 四川建设网电子招投标网站网站酷站
  • 凯里网站建设如何收费网站建设php怎么安装
  • 网站建设专业网站设计公司物格网一站式建站价格
  • seo网站培训优化怎么做如何给网站做下载附件
  • php网站建设文献综述怎么样提高网站排名
  • 专用车网站建设wordpress半透明
  • 石狮网站建设哪家好wordpress 3.9 漏洞
  • 为何建设单位网站找网络推广策畿
  • 用网站模板做网站动漫制作专业学校前十名
  • 网页 代码怎么做网站网站建设与维护课程设计
  • 网站制作哪家公司好企业名录联系电话
  • 做的网站怎么上传到网上wordpress图片之间空一行
  • 腾讯云建设网站视频vi报价单
  • 个人网站发布怎么做建设银行网站收款怎么打明细
  • 网站整体色调网站建设都有什么类型
  • 比较简洁大方的网站软件工程四大方向
  • 大家称赞的网站建设常德小学报名网站
  • 做网站怎么建文件夹百度网盘搜索神器
  • 企业有域名怎么做网站淘宝推广平台
  • 学网站开发去哪学药品销售推广方案
  • 哔哩哔哩h5播放器深圳网站seo外包公司哪家好
  • asp做的手机网站wordpress 文章title
  • 网站验证码目录wordpress内嵌播放器
  • 文明网网站建设南昌市建设规费标准网站
  • 安康有建网站的公司吗做网站用什么网名好
  • 济南网站制作哪家专业西安市城乡建设网官方网站