欧美v国产v日韩v在线,欧美在线观看综合中文,777米奇色狠狠俺去啦,香蕉视频丝袜亚洲国产

返回列表
攝像頭基礎(chǔ)技術(shù)與Linux V4L2框架

一.?dāng)z像頭成像原理    

自然景象的反射光被鏡頭所捕捉(鏡頭光圈調(diào)節(jié)進光量),將聚焦好的圖像精準對焦到光電傳感器(色彩濾波會產(chǎn)生三基色),傳感器將光信號轉(zhuǎn)為數(shù)字信號,再借助模數(shù)轉(zhuǎn)換最終得到原始圖像碼流數(shù)據(jù).

編碼協(xié)議規(guī)范

原始碼流數(shù)據(jù)不能直接拿來使用,都要依據(jù)一定的協(xié)議規(guī)范將其編碼, 常見的編碼格式比如YUYV/MJPEG/H264/NV12。各編碼特點主要如下

1. YUYV:原始碼流類型, 每個像素點占2個字節(jié);

2. MJPEG:運動靜止圖像(或逐幀)壓縮技術(shù),支持數(shù)據(jù)壓縮7倍左右;

3. H264:國際標準化組織(ISO)和國際電信聯(lián)盟(ITU)共同提出的繼MPEG4之后的新一代數(shù)字視頻壓縮格式

4. NV12:原始碼流類型, 每個像素點1.5個字節(jié)。

編碼目的在于借助編解碼技術(shù),可有效壓縮數(shù)據(jù)體積而不會或較少圖像質(zhì)量。

三. Linux V4L2框架

Linux系統(tǒng)應(yīng)用層和USB型攝像頭借助UVC協(xié)議交互。而現(xiàn)實中攝像頭存在多種接口類型,為了兼容不同的交互協(xié)議。在Linux kernel抽象了V4L2驅(qū)動框架借助提供的一系列命令, 方便應(yīng)用層和各個協(xié)議對接。

V4L2(Video for Linux 2)Linux用于支持攝像頭和視頻設(shè)備的框架。它提供了一組API和驅(qū)動程序接口,用于在Linux系統(tǒng)中進行視頻采集、視頻流處理和視頻播放等操作。

V4L2框架具有以下特點和功能:

設(shè)備抽象層:V4L2框架提供了一個設(shè)備抽象層,使得應(yīng)用程序可以與各種不同類型的視頻設(shè)備進行通信,包括攝像頭、視頻采集卡等。

統(tǒng)一的控制接口:V4L2定義了一套統(tǒng)一的控制接口,可以通過這些接口來配置和調(diào)整視頻設(shè)備的各種參數(shù),比如亮度、對比度、飽和度等。

視頻捕獲和輸出:V4L2支持視頻的捕獲和輸出功能,可以從視頻設(shè)備中獲取原始圖像數(shù)據(jù),并將其保存到文件或者進行實時顯示。

視頻流處理:V4L2框架提供了豐富的視頻流處理功能,包括圖像縮放、色彩空間轉(zhuǎn)換、幀率控制、圖像增強等,可以對視頻數(shù)據(jù)進行實時的處理和操作。

內(nèi)存映射和DMA支持:V4L2支持內(nèi)存映射和DMA(直接內(nèi)存訪問)技術(shù),可以加快視頻數(shù)據(jù)的傳輸速度,提高系統(tǒng)性能。

四. V4L2使用簡述

V4L2設(shè)備,其設(shè)備文件名通常以/dev/video開頭,后面跟著一個數(shù)字,表示設(shè)備節(jié)點號。例如/dev/video0就是第一個V4L2設(shè)備的設(shè)備文件名。

V4L2框架提供了一組API,用于控制和管理視頻設(shè)備。這些API主要包括以下幾個部分:

1.設(shè)備操作:包括打開、關(guān)閉、查詢設(shè)備信息等操作。

2.參數(shù)設(shè)置:包括設(shè)置視頻格式、幀率、曝光時間、白平衡等參數(shù)。

3.緩沖區(qū)管理:包括申請/釋放緩沖區(qū)、查詢緩沖區(qū)狀態(tài)等操作。

4.視頻流控制:包括啟動/停止視頻采集、查詢當(dāng)前視頻幀等操作。

五. V4L2框架圖

圖片1.png

六. 常見攝像頭輸出格式

1. RAW RGB格式

RAW RGB攝像頭陣列獲取的數(shù)據(jù),攝像頭經(jīng)光電轉(zhuǎn)換后輸出的數(shù)據(jù)就是RAW RGB。攝像頭每個感光點只能識別紅綠藍顏色中的一種。常說30萬像素就是指30萬個感光點。

傳統(tǒng)的紅綠藍格式如RGB565,數(shù)據(jù)格式為5bitR+6bitG+5BitB,G6bit,原因是人眼對綠色比較敏感。

總結(jié), RAW RGB每個像素只有一種顏色(R/G/B的一種),RGB每個像素都有三種顏色,值在0-255之間, 攝像頭輸出的數(shù)據(jù)RAW DATA,經(jīng)過ISP彩色插值算法轉(zhuǎn)換就變成了RGB

2. YUV

  RGB相比,YUV占用更少的空間,主流的采樣方式有三種,YUV444,YUV422,YUV420.

Y表示亮度分量(Luma):如果只顯示Y的話,圖像看起來會是一張黑白照.

U(b)表示色度分量:是藍色部分去掉亮度(Y)。

V(Cr)表示色度分量:是紅色部分去掉亮度(Y)。

YUV444采樣,每一個Y對應(yīng)一組UV分量。意思是4個像素里面的數(shù)據(jù)有4Y,4U,4V。

YUV422采樣,每一個Y對應(yīng)一組UV分量。意思是4個像素里面的數(shù)據(jù)有4Y,2U2V。

YUV420采樣,每一個Y對應(yīng)一組UV分量。意思是4個像素里面的數(shù)據(jù)有4Y,1U,1V。

 圖片2.png

七. 視頻編碼原理與發(fā)展

圖像數(shù)據(jù)基于互聯(lián)網(wǎng)傳輸,使用編解碼技術(shù)可以減少帶寬, 統(tǒng)一視頻編碼標準,提高相應(yīng)的兼容性。

圖片3.png

網(wǎng)站編輯:小優(yōu)智能科技有限公司 發(fā)布時間:Jun 28,2024
給我們留言
驗證碼