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

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

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

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

實現(xiàn)matlab YCbCr444轉(zhuǎn)YCbCr422實例

FPGA開源工作室 ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 2020-09-27 11:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 YCbCr顏色空間

YCbCr顏色空間是YUV顏色空間的縮放和偏移版本。Y定義為8bit,標(biāo)稱顏色范圍為16-235;Cb和Cr標(biāo)稱顏色表示范圍為16-240。YCbCr的采樣格式一般有44、42、41、和40。

1.1 44 YCbCr格式

圖1表示44格式Y(jié)CbCr采樣點的定位。每個采樣點有Y、Cb和Cr值,每個顏色值的顏色分量為8bit(典型),因此每個采樣點24bit。

圖1 44采樣

1.2 42 YCbCr格式

圖 2表示42格式Y(jié)CbCr采樣點定位。對于每兩個水平Y(jié)采樣點,有一個Cb和一個Cr采樣點。

圖2 42協(xié)調(diào)位置采樣

2 matlab YCbCr444轉(zhuǎn)YCbCr422

首先將rgb圖像轉(zhuǎn)為YCbCr444然后再由YCbCr444轉(zhuǎn)為YCbCr422。

close all clear all clc I=imread('1.bmp'); [H ,W ,D]=size(I); R=double(I(:,:,1)); G=double(I(:,:,2)); B=double(I(:,:,3)); Y0= double(zeros(H,W)); Cb0 =double(zeros(H,W)); Cr0 = double(zeros(H,W)); Cb1 =double(zeros(H,W/2)); Cr1 = double(zeros(H,W/2)); CbCr = double(zeros(H,W)); %RGB轉(zhuǎn)YCbCr444 for i = 1:H for j = 1:W Y0(i, j) = 0.299*R(i, j) + 0.587*G(i, j) + 0.114*B(i, j); Cb0(i, j) = -0.172*R(i, j) - 0.339*G(i, j) + 0.511*B(i, j) + 128; Cr0(i, j) = 0.511*R(i, j) - 0.428*G(i, j) - 0.083*B(i, j) + 128; end end for i=1:1:H for j=2:2:W Cb1(i,j/2)=(Cb0(i,j-1)+Cb0(i,j))/2; end end for i=1:1:H for j=2:2:W Cr1(i,j/2)=(Cr0(i,j-1)+Cr0(i,j))/2; end end for i=1:1:H for j=1:1:W if rem(j,2)==0 CbCr(i,j)=Cr1(i,j/2); else CbCr(i,j)=Cb1(i,(j+1)/2); end end end Iycbcr(:,:,1)=Y0; Iycbcr(:,:,2)=Cb0; Iycbcr(:,:,3)=Cr0; Iycbcr=uint8(Iycbcr); Y0=uint8(Y0); Cb0=uint8(Cb0); Cr0=uint8(Cr0); Cb1=uint8(Cb1); Cr1=uint8(Cr1); CbCr=uint8(CbCr); figure(1), subplot(211),imshow(I),title('RGB'); subplot(212),imshow(Iycbcr),title('YCbCr444'); figure(2), subplot(221),imshow(Cb1),title('Cb1'); subplot(222),imshow(Cr1),title('Cr1'); subplot(223),imshow(Cb0),title('Cb0'); subplot(224),imshow(Cr0),title('Cr0'); figure(3), subplot(211),imshow(Y0),title('Y0'); subplot(212),imshow(CbCr),title('CbCr');

Cb2和Cr2

CbCr交錯顯示

3 fpga仿真實現(xiàn)

`timescale 1ns/1ps module YUV444_422 ( input clk, input rst_n, input iVsync, input iHsync, input iDVAL, input[23:0] YUV444_D, output reg oVsync, output reg oHsync, output reg oDVAL, output reg[15:0] YUV422_D ); reg iDVAL_reg0,iDVAL_reg1,iDVAL_reg2,iDVAL_reg3; reg iVsync_reg0,iVsync_reg1,iVsync_reg2,iVsync_reg3; reg iHsync_reg0,iHsync_reg1,iHsync_reg2,iHsync_reg3; reg[8:0] YUV444_Cr_Sum0; reg[8:0] YUV444_Cb_Sum0; wire [7:0] temp_Y,temp_Cb,temp_Cr; reg [7:0] temp_Y0,temp_Y1,temp_Y2,temp_Y3; reg [7:0] temp_Cb0,temp_Cb1; reg [7:0] temp_Cr0,temp_Cr1; reg[7:0] Cr,Cb,Crbuf; reg Sel; assign temp_Y=YUV444_D[23:16]; assign temp_Cb=YUV444_D[15:8]; assign temp_Cr=YUV444_D[7:0]; always@(posedge clk) begin iDVAL_reg0 <= iDVAL; iDVAL_reg1 <= iDVAL_reg0; iDVAL_reg2 <= iDVAL_reg1; iDVAL_reg3 <= iDVAL_reg2; oDVAL <= iDVAL_reg3; end always@(posedge clk ) begin iVsync_reg0 <= iVsync; iVsync_reg1 <= iVsync_reg0; iVsync_reg2 <= iVsync_reg1; iVsync_reg3 <= iVsync_reg2; oVsync <= iVsync_reg3; end always@(posedge clk) begin iHsync_reg0 <= iHsync; iHsync_reg1 <= iHsync_reg0; iHsync_reg2 <= iHsync_reg1; iHsync_reg3 <= iHsync_reg2; oHsync <= iHsync_reg3; end always@(posedge clk ) begin //delay 3 clock Y temp_Y0<=temp_Y; temp_Y1<=temp_Y0; temp_Y2<=temp_Y1; temp_Y3<=temp_Y2; //delay 2 clock Cb temp_Cb0<=temp_Cb; temp_Cb1<=temp_Cb0; //delay 2 clock Cr temp_Cr0<=temp_Cr; temp_Cr1<=temp_Cr0; //delay 1 clock YUV444_Cr_Sum0 <= temp_Cr1 + temp_Cr0;//cr0+cr1 YUV444_Cb_Sum0 <= temp_Cb1 + temp_Cb0;//cb0+cb1 //delay 2clock Cr <= YUV444_Cr_Sum0[8:1]; Cb <= YUV444_Cb_Sum0[8:1]; end always@(posedge clk or negedge rst_n) begin if(~rst_n) Sel <= 1'b0; else if(iDVAL_reg3) Sel <= ~Sel; else Sel <= 1'b0; end always@(posedge clk or negedge rst_n)begin if(~rst_n) YUV422_D <= 16'd0; else if(iDVAL_reg3) begin YUV422_D[15:8] <= temp_Y3; YUV422_D[7:0] <=(!Sel)?Cb:Crbuf; Crbuf <= Cr; end end endmodule

fpga實現(xiàn)CbCr22

責(zé)任編輯:xj

原文標(biāo)題:YCbCr444轉(zhuǎn)YCbCr422

文章出處:【微信公眾號:FPGA開源工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    0

    文章

    2

    瀏覽量

    7872
  • 顏色空間
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    1503

原文標(biāo)題:YCbCr444轉(zhuǎn)YCbCr422

文章出處:【微信號:leezym0317,微信公眾號:FPGA開源工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于Matlab與FPGA的雙邊濾波算法實現(xiàn)

    前面發(fā)過中值、均值、高斯濾波的文章,這些只考慮了位置,并沒有考慮相似度。那么雙邊濾波來了,既考慮了位置,有考慮了相似度,對邊緣的保持比前幾個好很多,當(dāng)然實現(xiàn)上也是復(fù)雜很多。本文將從原理入手,采用Matlab與FPGA設(shè)計實現(xiàn)雙邊
    的頭像 發(fā)表于 07-10 11:28 ?520次閱讀
    基于<b class='flag-5'>Matlab</b>與FPGA的雙邊濾波算法<b class='flag-5'>實現(xiàn)</b>

    工業(yè)級USB轉(zhuǎn)RS-485/422轉(zhuǎn)換器DAM-3238的功能特性與應(yīng)用解析

    阿爾泰科技DAM-3238是一款通用的USB轉(zhuǎn)8路隔離RS-485/422轉(zhuǎn)換器,1U機架式結(jié)構(gòu)。
    的頭像 發(fā)表于 07-07 13:59 ?101次閱讀
    工業(yè)級USB<b class='flag-5'>轉(zhuǎn)</b>RS-485/<b class='flag-5'>422</b><b class='flag-5'>轉(zhuǎn)</b>換器DAM-3238的功能特性與應(yīng)用解析

    OptiSystem應(yīng)用:用MATLAB組件實現(xiàn)振幅調(diào)制

    本案例展示了在OptiSystem中調(diào)用MATLAB代碼實現(xiàn)振幅調(diào)制。 一、建模目標(biāo) 案例中,我們生成兩束功率為0dBm,頻率分別為192.7THz、191THz的載波,合束之后經(jīng)過自定義脈沖的調(diào)制
    發(fā)表于 06-13 08:46

    做線材,PC的朋友:我不允許你還不知道這顆芯片方案

    支持 3D 顯示左/右場/幀 支持高達 0.5% 下展頻的擴頻時鐘,以降低 EMI 支持水平消隱擴展 支持 eDP 模式 支持 DP 1.4a 自適應(yīng)同步 RGB 444YCbCr 444
    發(fā)表于 06-12 10:38

    這4K120HZ的USB-C口方案,最受高端客戶喜歡了。

    /幀 支持高達 0.5% 下展頻的擴頻時鐘,以降低 EMI 支持水平消隱擴展 支持 eDP 模式 支持 DP 1.4a 自適應(yīng)同步 RGB 444YCbCr 444/422/42
    發(fā)表于 06-10 19:54

    DP 1.4to HDMI 2.1(DSC):8k@60Hz?不知道這顆料你們頂不頂?shù)米?/a>

    的 CEC 隧道 支持 3D 顯示左/右場/幀 支持高達 0.5% 下展頻的擴頻時鐘,以降低 EMI 支持水平消隱擴展 支持 eDP 模式 支持 DP 1.4a 自適應(yīng)同步 RGB 444YCbCr
    發(fā)表于 06-10 19:14

    USB轉(zhuǎn)485/422轉(zhuǎn)換器拆解

    前兩天群里的好大哥給我寄了兩個他設(shè)計的USB轉(zhuǎn)485/422轉(zhuǎn)換器,制作的初衷也很簡單,就是消耗一下他手頭的物料,設(shè)計的關(guān)鍵就是電子丐幫,面向庫存設(shè)計,探索低成本!在這里先感謝胡博設(shè)計的轉(zhuǎn)換器。
    的頭像 發(fā)表于 04-10 10:33 ?1001次閱讀
    USB<b class='flag-5'>轉(zhuǎn)</b>485/<b class='flag-5'>422</b><b class='flag-5'>轉(zhuǎn)</b>換器拆解

    如何使用MATLAB實現(xiàn)一維時間卷積網(wǎng)絡(luò)

    本文對一維卷積操作進行介紹,包括一維擴展卷積和一維因果卷積,以及 MATLAB 對一維卷積的支持情況。在最后通過一個實例演示如何在 MATLAB 中將一維卷積和 LSTM 結(jié)合構(gòu)建分類網(wǎng)絡(luò),
    的頭像 發(fā)表于 03-07 09:15 ?1079次閱讀
    如何使用<b class='flag-5'>MATLAB</b><b class='flag-5'>實現(xiàn)</b>一維時間卷積網(wǎng)絡(luò)

    OptiSystem應(yīng)用:用MATLAB組件實現(xiàn)振幅調(diào)制

    本案例展示了在OptiSystem中調(diào)用MATLAB代碼實現(xiàn)振幅調(diào)制。 一、建模目標(biāo) 案例中,我們生成兩束功率為0dBm,頻率分別為192.7THz、191THz的載波,合束之后經(jīng)過自定義脈沖的調(diào)制
    發(fā)表于 02-14 09:39

    TSH8135的三組數(shù)據(jù)線輸入,分別對應(yīng)的RGB的數(shù)據(jù)?還是需要轉(zhuǎn)換成YCbCr信號?

    目標(biāo):FPGA通過THS8135輸出4:4:4的YUV視頻信號。 1、TSH8135的三組數(shù)據(jù)線輸入,分別對應(yīng)的RGB的數(shù)據(jù)?還是需要轉(zhuǎn)換成YCbCr信號? 2、M1,M2如何配置? 3、SYNC
    發(fā)表于 02-12 08:19

    THS8200輸出模糊不清怎么解決?

    bit 4:2:2, embedded)HS/VSout +/+, RGB>YCbCr>RGB 的工作模式,依據(jù)附件中設(shè)置THS8200寄存器后,輸出的圖像模糊不清,請你們給出好的建議,謝謝!
    發(fā)表于 02-12 06:45

    typec轉(zhuǎn)hdmi 10k60hz轉(zhuǎn)換方案/typec音視頻轉(zhuǎn)換方案/CS5569設(shè)計方案

    CS5569/CS5563/CS5565支持HDMI 2.1協(xié)議,還能夠通過Type-C提供8k60Hz的單轉(zhuǎn)方案,分辨率和刷新率達到了新的高度,可達10K@60Hz和4K@240Hz。CS5569
    發(fā)表于 12-05 17:03

    請問TVP7002如何輸出BT1120 YCbCr 4:2:2?

    TVP7002如何輸出 BT1120 YCbCr 4:2:2?
    發(fā)表于 12-03 06:22

    TVP7002 YCBCR422 embedded SYC輸出,對接HI3520D BT1120口的疑問求解

    1、TVP7002配置為YCBCR 422 embedded sync輸出,其數(shù)據(jù)位為0..9,共10bit 2、HI3520D的BT1120接口為YCBCR 422 embedde
    發(fā)表于 12-02 07:15

    基于TDA處理器的360度全景實現(xiàn)YUV422輸出的方案

    電子發(fā)燒友網(wǎng)站提供《基于TDA處理器的360度全景實現(xiàn)YUV422輸出的方案.pdf》資料免費下載
    發(fā)表于 09-05 11:12 ?0次下載
    基于TDA處理器的360度全景<b class='flag-5'>實現(xiàn)</b>YUV<b class='flag-5'>422</b>輸出的方案