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

网站设计 收费苏州建筑网

网站设计 收费,苏州建筑网,凡科登录电脑版,长沙做网站品牌本文主要介绍如何基于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.dnsts.com.cn/news/248380.html

相关文章:

  • 招远网站建设哪家专业微信公众号平台登陆
  • 两学一做考学网站wordpress毛玻璃主题
  • 知名的传媒行业网站开发开网店哪个平台最好
  • windows搭建网站建立英文网站
  • 陕西网站建设的内容湖北企业建站系统平台
  • 宠物美容网站建设合同书杭州建设工程交易中心网站
  • 自己用电脑做虚拟机怎么建网站福州百度推广优化排名
  • 山东省住房与城乡建设厅网站高端网页开发公司
  • 关于公司网站怎么做公司变更注册地址的流程
  • 外贸建站 知乎seo排名技巧
  • 网站开发淄博58网站怎么样做效果会更好
  • 网站建设建站知识苏州百度推广服务中心
  • 网站建设费用分类菠菜推广
  • 一个做网站的团队需要哪些人员电子商务网站建设读书报告
  • 站内内容投放计划wordpress双击图片放大
  • 网站背景设计深圳商标设计公司vi设计
  • 东莞网站建设都找菲凡网络网站域名有哪些
  • 企业网站建设实例网站地图html
  • 提供免费建网站的网上海企业服务云代表啥
  • 电子商务网站的目的天津网站建设兼职
  • 网站升级及政务新媒体建设方案1688采购平台
  • 泰安有口碑的网站建设wordpress 登陆 logo
  • 下载asp做网站wordpress页面编辑插件
  • 提高审美的网站推荐餐饮设计公司名字
  • 毕业设计 网站建设选题站长统计app进入网址新版小猪
  • 做网站设计需要哪些软件成都百度推广
  • 网站备案怎么那么慢wordpress 主题next
  • 建设银行网站怎么查流水临汾市建设局网站
  • 佛山新网站建设服务公司广告创意
  • tp网站开发网站问卷调查怎么做