女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

實現matlab YCbCr444轉YCbCr422實例

FPGA開源工作室 ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 2020-09-27 11:32 ? 次閱讀

1 YCbCr顏色空間

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

1.1 44 YCbCr格式

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

圖1 44采樣

1.2 42 YCbCr格式

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

圖2 42協調位置采樣

2 matlab YCbCr444轉YCbCr422

首先將rgb圖像轉為YCbCr444然后再由YCbCr444轉為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轉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仿真實現

`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實現CbCr22

責任編輯:xj

原文標題:YCbCr444轉YCbCr422

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • YCB
    YCB
    +關注

    關注

    0

    文章

    2

    瀏覽量

    7857
  • 顏色空間
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1487

原文標題:YCbCr444轉YCbCr422

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    USB485/422換器拆解

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

    如何使用MATLAB實現一維時間卷積網絡

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

    OptiSystem應用:用MATLAB組件實現振幅調制

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

    TSH8135的三組數據線輸入,分別對應的RGB的數據?還是需要轉換成YCbCr信號?

    目標:FPGA通過THS8135輸出4:4:4的YUV視頻信號。 1、TSH8135的三組數據線輸入,分別對應的RGB的數據?還是需要轉換成YCbCr信號? 2、M1,M2如何配置? 3、SYNC
    發表于 02-12 08:19

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

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

    typechdmi 10k60hz轉換方案/typec音視頻轉換方案/CS5569設計方案

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

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

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

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

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

    基于TDA處理器的360度全景實現YUV422輸出的方案

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

    RS485/422-靜電防護方案

    。RS-422支持單機發送、多機接收的單向平衡傳輸模式,允許在單一平衡總線上連接最多十個接收器,實現了信息的有效分發與接收。在RS-422的基礎上,進一步發展出了RS-485標準,這一標準不僅繼承了RS-
    的頭像 發表于 08-02 15:29 ?799次閱讀
    RS485/<b class='flag-5'>422</b>-靜電防護方案

    基于MATLAB的通信系統設計

    在通信系統設計領域,MATLAB作為一款強大的數學計算與仿真軟件,廣泛應用于信號處理、通信系統建模與仿真等方面。本文將詳細介紹一個基于MATLAB的通信系統設計方案,包括系統架構、各模塊功能實現及相應的
    的頭像 發表于 07-18 15:52 ?2343次閱讀

    利用Matlab函數實現深度學習算法

    Matlab實現深度學習算法是一個復雜但強大的過程,可以應用于各種領域,如圖像識別、自然語言處理、時間序列預測等。這里,我將概述一個基本的流程,包括環境設置、數據準備、模型設計、訓練過程、以及測試和評估,并提供一個基于Matlab
    的頭像 發表于 07-14 14:21 ?3389次閱讀

    MATLAB如何使用訓練好的網絡

    實現和應用變得簡單易行。 MATLAB神經網絡概述 MATLAB提供了多種神經網絡架構,如前饋神經網絡、卷積神經網絡(CNN)、循環神經網絡(RNN)等。這些網絡可以通過MATLAB
    的頭像 發表于 07-03 10:06 ?1720次閱讀

    一款通用的USBRS-485/422換器DAM-3232N

    DAM-3232N 是一款通用的 USB/RS-485/422 轉換器,無需外加電源、兼容USB、RS-422、RS-485標準,能夠將單端的 USB 信號轉換為平衡差分的 RS-422
    的頭像 發表于 06-25 11:37 ?1647次閱讀
    一款通用的USB<b class='flag-5'>轉</b>RS-485/<b class='flag-5'>422</b><b class='flag-5'>轉</b>換器DAM-3232N

    rs422收發器原理是什么?

    在數字化浪潮的推動下,數據傳輸的效率和穩定性成為了各行各業關注的焦點。今天,我們要為大家介紹一位數據傳輸領域的“新星”——RS-422收發器。它不僅具備杰出的抗干擾能力,還能實現長距離、高速
    的頭像 發表于 05-31 16:15 ?2267次閱讀