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

相关文章

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

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境