一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在i.MX RT處理器上使用PXP實(shí)現(xiàn)縮放和旋轉(zhuǎn)組合操作

恩智浦MCU加油站 ? 來(lái)源:恩智浦MCU加油站 ? 2025-02-20 10:53 ? 次閱讀

本文主要探討如何使用PXP實(shí)現(xiàn)縮放和旋轉(zhuǎn)組合操作,PXP是NXP推出的一個(gè)2D圖形加速器,主要完成對(duì)圖像的數(shù)據(jù)格式轉(zhuǎn)換、固定角度旋轉(zhuǎn)(90°,180°,270°),任意比例縮放、混色,移位以及翻轉(zhuǎn)等功能。運(yùn)行平臺(tái)為i.MX RT1170/1160/1060/1050/1040。

其功能結(jié)構(gòu)框如下圖所示:

465fcbce-ef25-11ef-9310-92fbcf53809c.png

其工作域有3個(gè):PS, AS以及OUTPUT。

PS域和AS域是輸入域,如果不需要混色,就只需要PS域輸入就可以了。PS域的輸入圖像可以進(jìn)行縮放、顏色轉(zhuǎn)換以及旋轉(zhuǎn)等操作。

本文主要討論一種特殊的情況,經(jīng)過(guò)PS域,先進(jìn)行縮放再進(jìn)行旋轉(zhuǎn),然后輸出。比如攝像頭輸入一個(gè)640(w)* 480(h)的圖片,經(jīng)過(guò)放大和旋轉(zhuǎn)后,輸出到一個(gè)720(w)*1280(h)的屏幕上。這個(gè)轉(zhuǎn)換過(guò)程如下圖所示:

466f5800-ef25-11ef-9310-92fbcf53809c.png

為了實(shí)現(xiàn)這個(gè)操作,我們需要配置一個(gè)PS域的區(qū)域范圍,對(duì)于這種場(chǎng)景,PS域的范圍應(yīng)該配置為(0,0,1280-1,1280-1),這四個(gè)坐標(biāo)分別表示區(qū)域的左上角x,左上角y,右下角x,右下角y。上面的圖形在PS域中的位置如下圖所示:

467d8600-ef25-11ef-9310-92fbcf53809c.png

這樣,通過(guò)把PS域的大小配置為1280*1280的正方形,才能保證圖像在放大和旋轉(zhuǎn)完的過(guò)程中,所有的輸入和輸出都在PS域的范圍內(nèi)。超過(guò)PS域的范圍,PXP不保證里面的數(shù)據(jù)正確,這一點(diǎn)在配置PXP的時(shí)候非常重要。另外PXP的框圖結(jié)構(gòu)里面有兩個(gè)旋轉(zhuǎn)(Rotation)單元。對(duì)于要依次做縮放和旋轉(zhuǎn)的情況,需要使用PXP的第二個(gè)旋轉(zhuǎn)單元。

下面我們從代碼層面看一看相關(guān)的配置:

1.定義屏幕尺寸和原始圖像尺寸

#define APP_PANEL_WIDTH  720


#define APP_PANEL_HEIGHT 1280


#define APP_IMG_SIZE_W 640


#define APP_IMG_SIZE_H 480
2. PS域的配置

下面的代碼是PS輸入圖像的buffer的相關(guān)配置。

這里重點(diǎn)講一下pitchBytes的概念。pitchBytes是用來(lái)指定一行圖像的字節(jié)數(shù),它等于一行數(shù)據(jù)的像素?cái)?shù)*每個(gè)像素的字節(jié)數(shù)。PXP是靠這個(gè)參數(shù)來(lái)作為輸入數(shù)據(jù)的換行邊界。

const pxp_ps_buffer_config_tpsBufferConfig = {


.pixelFormat = APP_PXP_PS_FORMAT,


.swapByte    = false,


.bufferAddr  = (uint32_t)s_psBufferPxp,  // PS input image buffer


.bufferAddrU = 0U,


.bufferAddrV = 0U,


.pitchBytes  = APP_IMG_SIZE_W * APP_BPP,


};

配置PS區(qū)域,需要配置為配置為(0,0,1280-1,1280-1)。

PXP_SetProcessSurfacePosition(


APP_PXP,


0,


0,


APP_PANEL_HEIGHT-1,  // 1280-1


APP_PANEL_HEIGHT-1);// 1280-1
3.配置輸出buffer

這里需要注意,當(dāng)使用第二級(jí)的旋轉(zhuǎn)單元時(shí),我們配置的輸出區(qū)域的長(zhǎng)和寬是旋轉(zhuǎn)之前的長(zhǎng)度和寬度,這一點(diǎn)非常容易出錯(cuò)。而pitchBytes一般都會(huì)配成旋轉(zhuǎn)后的圖像寬度(像素?cái)?shù))* 每個(gè)像素的字節(jié)數(shù)。

outputBufferConfig.pixelFormat    = APP_PXP_OUT_FORMAT;


outputBufferConfig.interlacedMode = kPXP_OutputProgressive;


outputBufferConfig.buffer0Addr    = (uint32_t)s_BufferLcd[0];


outputBufferConfig.buffer1Addr    = 0U;


outputBufferConfig.pitchBytes     = APP_PANEL_WIDTH * APP_BPP;


outputBufferConfig.width          = APP_PANEL_HEIGHT; //1280;


outputBufferConfig.height         = APP_PANEL_WIDTH;  //720;
4.配置縮放比例和旋轉(zhuǎn)角度

這里縮放比例是通過(guò)縮放前的長(zhǎng)寬和縮放后的長(zhǎng)寬來(lái)指定的,API內(nèi)部會(huì)自動(dòng)計(jì)算縮放系數(shù)。

PXP_SetProcessSurfaceScaler(APP_PXP,


APP_IMG_SIZE_W,


APP_IMG_SIZE_H,


APP_PANEL_HEIGHT,


APP_PANEL_WIDTH);
PXP_SetRotateConfig(APP_PXP,


kPXP_RotateOutputBuffer,  // Use the 2nd rotation unit.


kPXP_Rotate90,


kPXP_FlipDisable);

運(yùn)行結(jié)果如下,左邊是原始圖像,右邊是放大以及旋轉(zhuǎn)90°得到的圖像:

46892028-ef25-11ef-9310-92fbcf53809c.png

恩智浦MCU加油站

恩智浦半導(dǎo)體NXP Semiconductors N.V.(納斯達(dá)克股票代碼:NXPI)是汽車、工業(yè)物聯(lián)網(wǎng)、移動(dòng)設(shè)備和通信基礎(chǔ)設(shè)施市場(chǎng)值得信賴的合作伙伴,致力于提供創(chuàng)新解決方案。

這是由恩智浦官方運(yùn)營(yíng)的公眾號(hào),著重為您推薦恩智浦MCU的產(chǎn)品信息、開(kāi)發(fā)技巧、教程文檔、培訓(xùn)課程等內(nèi)容。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19740

    瀏覽量

    232883
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    61

    文章

    1318

    瀏覽量

    186803
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1091

    瀏覽量

    40909

原文標(biāo)題:在i.MX RT處理器上使用PXP實(shí)現(xiàn)縮放和旋轉(zhuǎn)組合操作

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    初識(shí)Layerscape和I.MX系列處理器

    600MHz主頻,內(nèi)部特殊的TCM+SRAM組合使得它的處理能力有MCU小鋼炮之稱。終端客戶實(shí)際測(cè)試后反饋,算法的運(yùn)行效率,
    發(fā)表于 12-10 18:14

    i.MX RT跨界處理器

    應(yīng)用處理器與MCU“跨界”處理器—從性能差距到新解決方案領(lǐng)域降低成本—去除片內(nèi)閃存集高性能、低延遲、高能效和安全性于一體相關(guān)行業(yè)和應(yīng)用 i.MX RT跨界
    發(fā)表于 02-19 06:06

    i.MX RT處理器系列

    大量的RAM和FLASH內(nèi)存,因此這似乎非常合適。到目前為止,RT1064是RT系列中的高端處理器。讓我感興趣的是它有4MB的片FLASH存儲(chǔ)
    發(fā)表于 07-22 07:53

    i.MX RT1050平臺(tái)的相關(guān)資料推薦

    的首款跨界處理器。該處理器具備應(yīng)用處理器的高性能與高度集成的優(yōu)勢(shì),更具有微控制的易用性和實(shí)時(shí)功能。NXP Semiconductors(恩智浦半導(dǎo)體)公司根據(jù)用戶成本需求,
    發(fā)表于 11-29 07:19

    基于面向i.MX應(yīng)用處理器的可靠架構(gòu)

    基于面向i.MX應(yīng)用處理器的可靠架構(gòu)
    發(fā)表于 10-31 14:07 ?7次下載
    基于面向<b class='flag-5'>i.MX</b>應(yīng)用<b class='flag-5'>處理器</b>的可靠架構(gòu)

    ZLG攜手NXP舉行i.MX RT 跨界處理器全國(guó)巡回研討會(huì)

    2018年3月20號(hào)—4月3號(hào),ZLG將攜手NXP全國(guó)6大城市(廣州、深圳、上海、杭州、南京、北京)舉辦i.MX RT 跨界處理器全國(guó)巡回研討會(huì),屆時(shí)將為您呈現(xiàn)NXP最新推出的
    的頭像 發(fā)表于 03-09 15:24 ?6260次閱讀

    NXP i.MX RT106F和RT106L處理器

    NXP i.MX RT106L跨界處理器主要針對(duì)低成本本地語(yǔ)音識(shí)別應(yīng)用。是專用于邊緣側(cè)的離線嵌入式本地語(yǔ)音控制的解決方案。該款高性能實(shí)時(shí)處理器基于Arm Coretx-M7內(nèi)核,主頻高
    的頭像 發(fā)表于 08-24 16:03 ?3488次閱讀

    i.MX RT MCU 跨界處理器可以輕松地滿足所有人的無(wú)線功能需求?

    我們最近的產(chǎn)品發(fā)布中,我們推出了能夠比以往更加輕松地交付無(wú)線功能的新平臺(tái)。我們的 Wi-Fi/ 藍(lán)牙組合解決方案和 i.MX RT MCU 跨界
    的頭像 發(fā)表于 09-03 11:24 ?2033次閱讀
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b> MCU 跨界<b class='flag-5'>處理器</b>可以輕松地滿足所有人的無(wú)線功能需求?

    【044】SylixOS 正式支持 i.MX RT1050平臺(tái)

    的首款跨界處理器。該處理器具備應(yīng)用處理器的高性能與高度集成的優(yōu)勢(shì),更具有微控制的易用性和實(shí)時(shí)功能。NXP Semiconductors(恩智浦半導(dǎo)體)公司根據(jù)用戶成本需求,
    發(fā)表于 11-19 12:51 ?14次下載
    【044】SylixOS 正式支持 <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1050平臺(tái)

    i.MX RT開(kāi)發(fā)筆記-08 | i.MX RT1062嵌套中斷向量控制NVIC(按鍵中斷檢測(cè))

    系列文章目錄i.MX RT開(kāi)發(fā)筆記-01 | 初識(shí) i.MX RT1062 跨界MCUi.MX RT
    發(fā)表于 12-01 13:51 ?2次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>開(kāi)發(fā)筆記-08 | <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1062嵌套中斷向量控制<b class='flag-5'>器</b>NVIC(按鍵中斷檢測(cè))

    RT-Thread & NXP 發(fā)布 i.MX RT 系列 BSP 新框架

    前言i.MX RT 是 NXP 推出的跨界處理器系列。該系列下又包括 i.MX RT1020、i.MX
    發(fā)表于 12-07 13:06 ?2次下載
    <b class='flag-5'>RT</b>-Thread & NXP 發(fā)布 <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b> 系列 BSP 新框架

    移植Arm-2D到i.MX RT1050-EVKB并繪制圖形界面

    眾所周知,i.MX RT系列是MCU中的性能強(qiáng)者,超高的主頻、豐富的外設(shè)以及足夠大的存儲(chǔ)使其能輕松應(yīng)用于各類領(lǐng)域。其中,圖像視頻方面,i.MX R
    的頭像 發(fā)表于 07-12 10:05 ?2363次閱讀

    適用于i.MX RT500和i.MX RT600 MCU的Xtensa音頻框架介紹

    眾多的恩智浦i.MX RT跨界處理器當(dāng)中,您可能會(huì)發(fā)現(xiàn)有些系列除了Arm內(nèi)核之外還結(jié)合了高性能的DSP,利用集成DSP的技術(shù)優(yōu)勢(shì),可提供高性能音頻數(shù)字信號(hào)
    的頭像 發(fā)表于 11-10 09:39 ?3058次閱讀

    NXP i.MX RT117F 交叉處理器

    。以下是本周新品情報(bào),請(qǐng)及時(shí)查收: 支持3D面部識(shí)別 NXP i.MX RT117F 交叉處理器 ? 貿(mào)澤電子即日起開(kāi)售NXP Semiconductors 的i.MX
    的頭像 發(fā)表于 01-18 08:45 ?1053次閱讀

    i.MX RT1050如何實(shí)現(xiàn)雙大容量存儲(chǔ)(MSC)設(shè)備

    i.MX RT1050如何實(shí)現(xiàn)雙大容量存儲(chǔ)(MSC)設(shè)備
    的頭像 發(fā)表于 10-30 17:08 ?803次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1050<b class='flag-5'>上</b>如何<b class='flag-5'>實(shí)現(xiàn)</b>雙大容量存儲(chǔ)(MSC)設(shè)備