MTK平台视频倒车显示区域图像裁剪---第一部分

2023-10-15 12:20

本文主要是介绍MTK平台视频倒车显示区域图像裁剪---第一部分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在倒车显示时,设置预览分辨率是1280x720(AHD)或CVBS(720*576-NTSC制,720*480-PAL制)在LCD1024x600分辨率或1280x720分辨率的屏上显示时,会发现有些摄像头上下左右有黑边,这个时候可以通过ATC芯片内部的倒车模块硬件图像的裁剪功能来达到显示正常图像的目的。必须的TVD图像输出到内部ISP搬运数据到LCD的framebuffer之前进行裁剪,否则显示会有卡顿现象。

方法如下:

使用adb 抓取图像数据:

电脑上执行:
adb root
adb remount
adb shell
进入机器的android运行环境执行:
xxx@xxxx/# setenforce 0
xxx@xxxx/# mkdir /data/mdp/
xxx@xxxx/# setprop dpframework.dumpbuffer.enable 1  // 开始 dump
xxx@xxxx/# setprop dpframework.dumpbuffer.enable 0 // 结束 dump
xxx@xxxx/# exit
电脑上执行:
adb pull /data/sdp .   //将抓取的sdp数据文件拷贝到本地

使用YUV查看工具打开所dump 数据中的 output*.bin(本地电脑的xxxx/mdp/output39635_0.bin)文件,打开格式为YUV422,分辨率选择1024*600,如图可以得出黑边的具体像素大小。

yuv图像工具:https://download.csdn.net/my/uploads中的yuv图像工具

选择1024x600和YUV422_YUYV格式,可以看到左右阴影像素大小,调试的原则,H的设置大小为上面图像显示宽度大小的一半小一点。Y的值为左边从0开始的阴影大小。调整之后根据画面显示大小再进行微调。

如果仍然不行,将X值大小跟Y值设置成一样,仍后再调整W和H值大小,最后左右调整OK之后,再调整Y和H的值,即上下图像的显示即可。

可以使用主界面上的设置菜单中的"显示”——>视频区域裁剪中设置对应参数,经过验证:

是OK的。

那么以上的X、Y和W、H坐标的取值是怎么取的呢?ATC文档中有说需要将参数固化到Metazone中,如下:

那么针对CVBS格式输出到1024x600的LCD屏幕上,针对上面YUV工具得到的黑边,具体是怎么计算上下左右黑边的像素呢,方法如下:

 N制摄像头的分辨率为720*576, P制摄像头的分辨率为720*480,以N制摄像头为例,如下图

这里的裁剪是以视频源的分辨率为标准,假设上图中CVBS画面左右两边均有10px的黑边,那么如果要裁掉坐标的10px的黑边,X取值为10,如果要裁掉右边10px的黑边,那么W为需要显示的宽度,W应该为710-10-10 = 700, 由于上下没有黑边,不用裁剪,那么Y依然为0,H为576。

由于摄像头分辨率为720*576,而屏幕显示分辨率为1024*600,所以从1024*600分辨率屏所测出来的像素并非CVBS 摄像头画面真正的像素,而是通过放大之后的像素,而这个放大就是普通的线性关系,具体为,在1024*600分辨率的屏上,左边17个像素的黑边,那么还原为720 x 576 ,黑边的实际像素为: 17*(720/1024) = 12, 同理,W的值为720-(12-10*(720/1024)) = 701, Y = 0,H = 576。以上均以PAL制摄像头为例,如果是N制摄像头,将576替换成480计算即可。

 

 

 

 

这篇关于MTK平台视频倒车显示区域图像裁剪---第一部分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217676

相关文章

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li