Camera攝像頭工作原理

2021-02-07 嵌入式Linux

回想這工作的這幾年,嘗盡社會的辛酸艱難,從一開始什麼都沒有到30萬,從30萬到200萬,從200萬到1300萬,不是炫耀,我只是想通過我自己的經歷告訴我的朋友們「手機像素越高,拍的照片越清晰

攝像頭結構

我初中的時候,有一次我考了年級第7名,學校獎勵了 200塊錢,我當時非常開心,第一時間就想去買一個照相機,我想把自己那時看到的畫面都記錄下來,可惜的是,我看上那個最便宜的也要兩百多,然後我媽跟我說先把錢存她那裡,等過陣子有錢了再給我買,然後,你可能想知道然後怎麼了,然後就沒有然後了,我最開始的照相機就是大學的時候,我哥給我買的那個大塊頭手機,鈴聲一響起來,一頭熟睡的母豬都能被吵醒。

最開始的照相機是那種手動對焦的,就是轉動馬達讓感光晶片能接收到最好的信號,俗稱對焦

最原始的Camera成像原理

說起成像原理,我們不得不說小孔成像,就是有了小孔成像,我們才有了相機這麼神奇的東西。


小孔成像是是比較古老的方式了,隨著現在技術的發展,已經使用了新的方式替代小孔成像,因為小孔成像的很小,也造成了拍攝存在很多局限性。


現代Camera 工作原理

camera工作原理是外部光線穿過 lens 後, 經過 color filter 濾波後照射到 Sensor 面上, Sensor 將從 lens 上傳導過來的光線轉換為電信號,再通過內部的 AD 轉換為數位訊號。如果 Sensor 沒有集 成 DSP,則通過 DVP 的方式傳輸到baseband,此時的數據格式是 RAW DATA。如果集成 了 DSP, RAW DATA 數據經過 AWB、 則 color matrix、 lens shading、 gamma、 sharpness、 AE 和 de-noise 處理(手機一般在cpu isp端做),後輸出 YUV 或者 RGB 格式的數據。最後會由 CPU 送到 framebuffer 中進行顯示,這樣我們就看到 camera 拍攝到的景象了。

我們先用眼睛通過目鏡確定當前拍攝的這個人是不是一個靚仔,然後呢,讓這個靚仔做一個比較帥點的姿勢,然後按下快門就,擋光板抬起,把光線照到感光器上,感光器是一個模擬圖片,通過ADC轉換數位訊號,存儲到存儲晶片上。

Camera硬體原理圖

硬體原理圖分析

POWER:

VDD_CAMA28  ----2.8v   camera的模擬電壓

VDD_CAMD28  ----1.5v   camera的工作電壓

VDD_CAMIO28  ----2.8v   camera的GPIO口數字電壓

OUTPUT:

CAM_DATA: camera的數據管腳。此數據腳可以輸出的格式有YUV、RGB、JPEG

CAM_VSYNC: camera的幀同步信號管腳。一個VYSNC信號結束表示一幀(即一個畫面)的數據已經輸出完畢

CAM_HSYNC: camera行同步信號管腳。一個HSYNC信號結束表示一行的數據已經輸出完畢

CAM_PCLK: 像素同步信號管腳。一個PCLK信號結束表示一個數據已經輸出完畢

INPUT:

CAM_PWDN:  camera的使能管腳,當camera處於PWDN模式時,一切對camera的操作都是無效的,因此,在RST之前,一定要將PWDN管腳置為normal模式

CAM_RST:  camera的復位管腳。此方式為硬復位模式,一般管腳置為低,camera處於硬復位狀態,camera的各個IO口恢復到出廠默認狀態。只有在XCLK開啟後,將RESET置為低,硬復位才有效,否則復位無效。

CAM_MCLK:  camera工作時鐘管腳。此管腳為主控提供camera的工作時鐘

CAM_I2C:  camera與主控的通信管腳Camera主要的通信接口是i2c,數據傳輸是mipi

我們在軟體調試時,camera大致流程:

第一步:給sensor進行上電和輸出時鐘信號;

第二步:然後通過i2c進行通信,通過發送地址,cpu查找camera;

第三步:在打開camera時,通過i2c下發,對sensor寄存器進行適配和準備工作;

第四步:camera數據輸出,通過mipi給到cpu端進行採集;

Sensor類型

4.1、常見的攝像頭傳感器類型主要有兩種

CCD(Chagre Couled Device),即電荷耦合器,目前被廣泛應用於大部分數位相機上,這是一種特殊的半導體材料,它由大量獨立的光敏元件組成,這些光敏元件通常按矩陣排列。光線透過鏡頭照射到CCD上,並轉換成電荷,每個元件上的電荷量取決於其受到的光照強度。當攝影者按動快門時,CCD可將各個元件的信息傳送到模/數轉換器上,然後將模擬電信號轉變為數位訊號,數位訊號再以一定的格式壓縮後存入緩存內,這樣就完成了數碼相片的整個拍攝。


CMOS(Complementary Metal-Oxide-Semiconductor),即互補金屬氧化物半導體,它在微處理器和快閃記憶體等半導體技術上佔有重要的地位,也是一種可用來感受光線變化的半導體,其組成元素主要是矽和鍺,通過CMOS上帶負電和帶正電的電晶體來實現基本功能。這兩個互補效應所產生的電流即可被處理晶片記錄和解讀成影像。由於CMOS結構相對簡單,與現有的大規模集成電路生產工藝相同,從而生產成本可以降低,理論上講,CMOS的信號是以點為單位的電荷信號,CCD是以行為單位的電流信號,相比較而言,前者更為敏感、速度更快、更為省電。目前CMOS技術發展還不成熟,這種高質量的CMOS還只應用於一些專業的數位相機上,而在一些低檔數位相機上常使用廉價低檔的CMOS,成像質量一般比較差。所以目前要購買消費級數位相機的話,建議用戶最好選擇以CCD為影像傳感器的產品


4.2、圖像採集數據的模式有兩種

Color Filter Array---CFA圖像傳感器都採用一定的模式來採集圖像數據,常用的有 BGR 模式和 CFA 模式。

BGR 模式:BGR 模式是一種可直接進行顯示和壓縮等處理的圖像數據模式,它由 R( 紅)、G( 綠) 、B( 藍) 三原色值來共同確定 1 個像素點,例如富士數位相機採用的 SUPER CCD 圖像傳感器就採用這種模式,其優點是圖像傳感器產生的圖像數據無需插值就可直接進行顯示等後續處理,圖像效果最好,但是成本高,常用於專業相機中。

CFA 模式:為了減少成本,縮小體積,市場上的數位相機大多採用 CFA 模式,即在像素陣列的表面覆蓋一層彩色濾波陣列(Color Filter Array,CFA),彩色濾波陣列有多種,現在應用最廣泛的是 Bayer 格式濾波陣列,滿足 GRBG 規律,綠色像素數是紅色或藍色像素數的兩倍,這是因為人眼對可見光光譜敏感度的峰值位於中波段,這正好對應著綠色光譜成分。在該模式下圖像數據只用R, G, B三個值中的一個值來表示一個像素點,而缺失另外兩個顏色值,這時得到的是一副馬賽克圖片,為了得到全彩色的圖像,需要使用其周圍像素點的色彩信息來估計缺失的另外兩種顏色,這種處理叫做色彩插值。

小結

這是camera硬體工作原理的介紹,那麼在後面的文章中,我們將會逐步結合代碼去分析,怎樣驅動camera工作起來。

相關焦點

  • 攝像頭功能開發不再複雜,CameraX 助您輕鬆打造光影體驗
    但您也許不知道,超過 70% 的攝像頭使用來自各位開發者們開發的應用,而不是系統原生的攝像頭功能。用戶們需要更加個性、更具有擴展性的體驗,但這也意味著開發者們需要付出極大的心力測試與打磨攝像頭功能。去年在中國 GDD (谷歌開發者日) 上我們和很多攝像頭應用開發者了解他們的測試工作量,得知為了確保兼容性、響應速度等體驗細節,他們甚至會手動在數百種不同設備上進行測試。CameraX 正是為解決這個痛點而來。它是 Jetpack 內的一套攝像頭開發支持庫,旨在幫助開發者輕鬆打造高品質的攝像頭體驗。
  • 這可能是全網關於Camera慢動作錄像(SlowMotion)介紹最全的文章了
    好了,我們還得再有一個概念,數據是從攝像頭sensor出來的,那我們需要120fps,總得攝像頭支持才行吧。所以呢,就有一個先決條件了,硬體得支持才行,下面會講如何查詢當前硬體是否支持。假設硬體支持的情況下,我們來看下軟體上應用的調用情況。
  • 網友曝蘋果手機上的臉書app會自動打開後置攝像頭
    發現臉書一個安全和隱私的問題。使用App期間它會積極調用攝像頭。我在App裡發現一個bug,在你瀏覽時還能看到攝像頭也在開著。If camera and mic are live that would explain that.謝謝你的爆料。我手機上一樣。看起來是個bug,不過同時,我發現我這兒的廣告有時是根據我說過的東西量身定製的,而不是搜索或看過的。要是攝像頭和麥克風都開著,就能說得通了。
  • 堆棧式攝像頭和背照式有什麼區別
    手機攝像頭這個硬體發展了十年左右,像素已經從過去主流的30萬慢慢演變成了現在的800萬甚至1300萬之高。不僅如此,攝像頭硬體結構也發生了翻天覆地的變化,從最初的傳統型發展成了現在的背照式還有堆棧式。聽到這裡相信和多人一頭霧水。那麼什麼是背照式堆棧式呢?
  • 優衣庫試衣間驚現針孔攝像頭……
    優衣庫又出事了,顧客在試衣鏡上方發現了一枚針孔攝像頭。如今隱私顯得尤其珍貴,我們的個人信息總不知不覺被洩露出去。
  • 網絡攝像機的工作原理及網絡監控系統架構
    首先,先了解網絡攝像機的工作原理    攝像頭的工作原理大致為:光(景物)通過鏡頭(LENS)生成的光學圖像投射到圖像傳感器表面上,然後轉為電信號,經過A/D(模數轉換)轉換後變為數字圖像信號,再送到數位訊號處理晶片(DSP)中加工處理進行視頻編碼壓縮,再通過網線進行傳輸,後端通過電腦直接訪問解碼查看視頻或者通過解碼設備進行顯示。
  • 圖解 WebGL & Three.js 工作原理
    我們講兩個東西:1、WebGL背後的工作原理是什麼?2、以Three.js為例,講述框架在背後扮演什麼樣的角色?二、我們為什麼要了解原理?四、WebGL的工作原理4.1、WebGL API在了解一門新技術前,我們都會先看看它的開發文檔或者API。查看Canvas的繪圖API,我們會發現它能畫直線、矩形、圓、弧線、貝塞爾曲線。
  • 【Arduino】自己動手做一個網絡攝像頭
    :ESP32-CAMOBS Studio軟體(目前環境:Windows作業系統)虎牙直播軟體燒寫代碼:使用ESP32-CAM的示例代碼(面向百度和官網編程):更改一下WiFi配置信息和攝像頭模塊到此為止,我們就實現了一個區域網可訪問的攝像頭,接下來,我們要將視頻接口通過虎牙平臺接入外網中,讓我們隨時隨地都可以在線觀察鏡頭。
  • RAW轉檔原理
    所有的raw轉檔軟體調整命令原理都差不多,我們以camera raw為例講一下轉檔軟體調整亮度區域劃分。
  • 圖解WebGL和Three.js工作原理
    我們講兩個東西:1、WebGL背後的工作原理是什麼?2、以Three.js為例,講述框架在背後扮演什麼樣的角色?二、我們為什麼要了解原理?四、WebGL的工作原理4.1、WebGL API在了解一門新技術前,我們都會先看看它的開發文檔或者API。查看Canvas的繪圖API,我們會發現它能畫直線、矩形、圓、弧線、貝塞爾曲線。於是,我們看了看WebGL繪圖API,發現:
  • 測試:將手機攝像頭用作網絡攝像頭的拍攝效果
    作者 / Chris Kranky原文連結 / https://www.chriskranky.com/using-your-mobile-camera-as-a-webcam
  • 小米攝像頭曝嚴重漏洞,居然能看到別人家
    一位Reddit用戶將小米米家安全攝像頭連接到Google Nest Hub時卻意外看到了他人房屋內部的圖像,涉及個人隱私,其中還包括嬰兒在嬰兒床中睡覺的場景,細思極恐!小米攝像頭曝出重大漏洞!居然能看到別人家!
  • 樂現雲攝像頭:網絡時代下的最佳分享「工具」
    ,樂現恰恰是其中一家,實測之後,產品數據線僅有50cm,使用起來確有不便。無論身在何地,只要有網絡,用戶可直接查看攝像頭的實時畫面,為了方便用戶的後期文件管理,百度雲還推出了剪輯選項,剪輯後的文件可直接儲存在個人百度雲盤中。
  • 日光燈工作原理與接線圖
    日光燈又叫螢光燈,利用螢光粉通電發出可見光的原理製作而成的一種燈具。在1974年,自從荷蘭的飛利浦發明出了三基色的螢光粉後,日光燈就廣泛被使用在人們的日常生活中。那麼日光燈的工作原理是什麼,日光燈接線圖又是怎麼樣的呢?在了解日光燈工作原理前,可以先來弄清楚它的構造。
  • 噴油泵工作原理
    噴油泵工作原理是什麼呢?感興趣的小夥伴們快來看看吧~本文引用地址:http://www.eepw.com.cn/article/283739.htm  噴油泵,是柴油機上的一個重要組成部分,由發動機曲軸齒輪帶動凸輪軸轉動以完成噴油功能。噴油泵上一般還都安裝有調速器,用於保障柴油機的低速運轉和對最高轉速的限制,確保噴射量與轉速之間保持一定的關係。
  • 噴砂機的工作原理
    工作原理吸入式幹噴砂機是以壓縮空氣為動力,通過氣流的高速運動在噴槍內形成的負壓,將磨料通過輸砂管。吸入噴槍並經噴嘴射出,噴射到被加工表面,達到預期的加工目。在吸入式幹噴砂機中,壓縮空氣既是供。分離式手動噴砂機的工作原理:分離式手動噴砂機屬於幹噴砂系列,本機採用普壓式噴砂,即利用壓縮空氣在噴槍內高速流動形成負產生引射作用,將旋風分離器裡的磨料通過膠管吸入噴槍內,然後隨壓縮空氣流由噴嘴高速噴射到工件表面,達到噴砂加工的目的。
  • 喇叭的工作原理是什麼
    【太平洋汽車網】汽車喇叭工作原理是:汽車電喇叭是靠金屬膜片的振動從而發出聲音,汽車電喇叭由鐵芯、磁性線圈、觸點、銜鐵、膜片等組成。氣喇叭的工作原理是利用壓縮空氣的氣流使金屬膜片振動而發出聲音,因此必須在帶有空氣壓縮機的汽車上方能使用。一般在大客車和重型貨車上都裝有氣喇叭,特別是長途運輸車在山區或彎道等地段行駛時,用氣喇叭鳴叫,能有效地提醒行人和對方來車駕駛員的注意。因為氣喇叭音量大,餘音好,聲音悅耳且傳播較遠。氣喇叭一般採用筒形,並使用高音與低音兩個喇叭聯合工作。
  • 最牛Photoshop及camera raw後期教程/系統化/實用易學/高清視頻教程/U盤升級版
    主要講解攝影后期Photoshop軟體及camera raw的教學內容電影色調渲染、光照渲染、油畫色調、中國風畫意修調、唯美風光修調、唯美人像修調、人文油畫渲染技巧、絢麗風光等50多個課程前後期處理方法,視頻課程都拷貝在閃迪加密U硬碟裡面,內存32G
  • Android Jetpack CameraX 庫 Beta 版正式發布!
    CameraX是一個Jetpack支持庫,旨在幫助您簡化相機應用的開發工作。它提供一致且易於使用的API界面,適用於大多數Android設備,並可向後兼容至Android5.0(API級別21)。CameraX的Beta版本正式發布,我們向為此作出貢獻的全體開發者社區成員致謝,這是我們共同努力的結果。