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

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

用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