ISP 圖像傳感器camera原理

1、Color Filter Array — CFA

隨著數碼相機、手機的普及,CCD/CMOS 圖像傳感器近年來得到廣泛的關注和應用。?圖像傳感器一般都采用一定的模式來采集圖像數據,常用的有 BGR 模式和 CFA 模式。BGR 模式是一種可直接進行顯示和壓縮等處理的圖像數據模式,它由 R( 紅)、G( 綠) 、B( 藍) 三原色值來共同確定 1 個像素點,例如富士數碼相機采用的 SUPER CCD 圖像傳感器就采用這種模式,其優點是圖像傳感器產生的圖像數據無需插值就可直接進行顯示等后續處理,圖像效果最好,但是成本高,常用于專業相機中。一般數碼相機的傳感器(CCD 或 CMOS)約占整機總成本的 10%~25%,為了減少成本,縮小體積,市場上的數碼相機大多采用 CFA 模式,即在像素陣列的表面覆蓋一層彩色濾波陣列(Color Filter Array,CFA),彩色濾波陣列有多種,現在應用最廣泛的是 Bayer 格式濾波陣列,滿足 GRBG 規律,綠色像素數是紅色或藍色像素數的兩倍,這是因為人眼對可見光光譜敏感度的峰值位于中波段,這正好對應著綠色光譜成分。


上圖就是一個采用 CFA 模式的圖像傳感器,有效分辨率為 640 x 480,該模式圖像數據只用 R、G、B 3個值中的1 個值來表示 1 個像素點。這樣一來每個像素點只能捕獲三基色 R,G,B 中的一個,而缺失另外兩個顏色值,這時候得到的是一幅馬賽克圖像。為了得到全彩色的圖像, 需要利用其周圍像素點的色彩信息來估計出缺失的另外兩種顏色, 這種處理叫作色彩插值,也稱作彩色插值或去馬賽克。


上圖是一個8 x 8像素大小的 CFA 模式圖像數據陣列,圖中 1 個方格表示 1個像素,R、G、B 的數字下標表示其在 8 x 8 圖像陣列中的位置。由于 CFA 模式所采用的圖像顏色濾波陣列結構相對簡單,并且所得到的圖像數據僅僅是原始圖像全部三原色信息的1 / 3 的數據,因此成本較低。但是,上圖中的 CFA 模式圖像數據與 BGR 模式的圖像數據相比,缺少了 2 / 3 的圖像顏色信息,所以要對 CFA 模式圖像數據進行顯示、壓縮等后續處理,就需要事先對其進行插值運算,恢復CFA 模式圖像數據所缺少的2 / 3 顏色信息,從而將 CFA 模式圖像數據重建為與 BGR 模式圖像相匹配的圖像數據。比較常見的是雙線性插值算法:該算法在對一個像素點的某顏色值進行插值運算時,會用該像素相鄰像素點對應顏色值通過算數平均來估計。

2、圖像去噪

在圖像的采集和傳輸過程中,圖像質量經常受到各種噪聲的影響而下降。由于采集和各種元器件容易受到強干擾會產生脈沖噪聲,由于照明不穩定,鏡頭灰塵以及非線性的信道傳輸引起的圖像退化都會產生不同種類的噪聲其主要影響人的視覺效果,使人難以辨認圖像的某些細節,另外噪聲給一些圖像處理算法帶來嚴重影響,例如梯度算子,由于一些與對象無關點的引入,使得無用信息的使用造成更加嚴重的后果,干擾了圖像的可觀測的信息。這里討論的噪聲僅僅局限在圖像傳感器獲取圖像數據時的噪聲污染,由于這時候的數據量較少,噪聲直接影響后面的插值算法,并使圖像的細節無法體現,既影響圖像的插值效果,也影響人的視覺感受。因此在圖像處理中噪聲的去除是一項非常重要的環節。

3、自動聚焦

自動聚焦目的是獲得清晰度更高得圖像。常用的聚焦方法分兩類,一類是傳統的聚焦方法,一種是基于數字圖像處理方式的圖像聚焦方法。傳統的方式中,自動聚焦通過紅外線或者超生波測距的方式來實現。這種方式需要安裝發射機和接收機,增加了攝像機的成本,而且超聲波對于玻璃后面的被攝物體不能很好的自動聚焦。這一類聚焦方式在某些場合受到了限制。因此在日趨集成化、微型化、低成本的應用中,基于數字圖像處理的自動聚焦方法更具有優勢。

根據鏡頭成像分析,鏡頭的光學傳遞函數可以近似為高斯函數,它的作用等效為一個低通濾波器。離焦量越大,光學傳遞函數的截止頻率越低。從頻域上看,離焦量增大,對圖像高頻能量造成損失,使得圖像的細節逐漸模糊。從空域上看,離焦量增大,點光源成像的光強分布函數越分散,可分辨的成像間距越大,圖像相鄰像素互相重疊,圖像細節損失嚴重。因此圖像清晰度評價函數時建立在圖像邊緣高頻能量上的。

數字處理方法中,自動聚焦的關鍵在于構造圖像的清晰度評價函數。己經提出的圖像清晰度評價函數苞括灰度方差、梯度能量、嫡函數和一些頻域函數法。圖像清晰度評價函數必須具有良好的單峰性和尖銳性,而且要計算量適度,從而可以快速的實現精準對焦。

4、自動曝光

曝光是用來計算從景物到達相機的光通量大小的物理量。圖像傳感器只有獲得正確的曝光,才能得到高質量的照片。曝光過度,圖像看起來太亮曝光不足,則圖像看起來太暗。到達傳感器的光通量的大小主要由兩方面因素決定:曝光時間的長短以及光圈的大小。

利用光圈進行自動曝光,主要根據所拍攝的場景來控制光圈大小,使得進光量維持在一定范圍內。通過光圈進行曝光控制的成本比較高。現在市場所見的中低端攝像頭采用的主流技術通過調整曝光時間來實現自動曝光。

目前自動曝光控制算法方法有兩種,一種是使用參照亮度值,將圖像均勻分成許多的子圖像,每一塊子圖像的亮度被用來設置參照亮度值,這個亮度值可以通過設置快門的速度來獲得。另外一種方法是,通過研究不同光照條件下的亮度與曝光值之間的關系來進行曝光控制。這兩種方法都是研究了大量的圖像例子和許多不同的光照條件。而且均需要在不同的光照條件下所采集的圖像數據庫。實際中自動曝光研究需要解決好以下幾個問題,首先是判定圖像是否需要自動曝光,其次是自動曝光時,如何調整光電轉換后數字信號來找出自動曝光能力補償函數,最后就是調整到什么程度最為合適。

5、伽馬校正

在視頻采集顯示系統中,光電轉換(CCD/CMOS)和電光轉換(CRT/LCD)的器件的轉換特性都是非線性的。這些非線性期間都存在一個能反映各自特性的冪函數,用它來衡量非線性器件的轉換特性。這種特性稱為伽瑪特性,在視頻中由于伽瑪特性的存在,會導致圖像信號的亮度失真,降低通信質量,影響用戶體驗。因此要對這個失真進行補償,即伽瑪校正。
光電轉換器特性的非線性會引起圖像非線性失真,圖像的非線性失真主要表現在灰度的失真,即圖像亮度層次的壓縮與擴張,其圖像表征為看起來被漂白或者太暗。攝像機/攝像頭的伽瑪特性大小一般為0.4 - 0.7,顯示器的伽瑪特性大小一般在1.3 - 2.5之間。
伽瑪校正的具體實現方法多種多樣,較簡單的實現方式是查表法。伽瑪校正分兩步。首先建立適合所用器件的伽瑪校正表,然后根據輸入的像素值查表獲得伽瑪校正后的數據。

6、白平衡

白平衡,字面上的理解是白色的平衡。用色彩學的知識解釋,白色是指反射到人眼中的光線由于藍、綠、紅三種色光比例相同且具有一定的亮度所形成的視覺反應。白色光是由赤、橙、黃、綠、青、藍、紫七種色光組成的,而這七種色光又是有紅、綠、藍三原色按不同比例混合形成,當一種光線中的三原色成分比例相同的時候,習慣上人們稱之為消色,黑、白、灰、金和銀所反射的光都是消色。通俗的理解白色是不含有色彩成份的亮度。人眼所見到的白色或其他顏色根物體本身的固有色、光源的色溫、物體的反射或透射特性、人眼的視覺感應等諸多因素有關,舉個簡單的例子,當有色光照射到消色物體時,物體反射光顏色與入射光顏色相同,既紅光照射下白色物體呈紅色,兩種以上有色光同時照射到消色物體上時,物體顏色呈加色法效應,如紅光和綠光同時照射白色物體,該物體就呈黃色。當有色光照射到有色物體上時,物體的顏色呈減色法效應。如黃色物體在品紅光照射下呈現紅色,在青色光照射下呈現綠色,在藍色光照射下呈現灰色或黑色。
由于人眼具有獨特的適應性,有時候不能發現色溫的變化。比如在鎢絲燈下呆久了,并不會覺得鎢絲燈下的白紙偏紅,如果突然把日光燈改為鎢絲燈照明,就會覺查到白紙的顏色偏紅了,但這種感覺也只能夠持續一會兒。攝像頭并不能像人眼那樣具有適應性,所以如果攝像機的色彩調整同景物照明的色溫不一致就會發生偏色。白平衡就是針對不同色溫條件下,通過調攝像頭內部的色彩電路使拍攝出來的影像抵消偏色,更接近人眼的視覺習慣。白平衡也可以簡單地理解為在任意色溫條件下,攝像頭所拍攝的標準白色經過電路的調整,使之成像后仍然為白色。

7、顏色空間

顏色空間也稱彩色模型(又稱彩色空間或彩色系統),它的用途是在某些標準下用通常可接受的方式對彩色加以說明。本質上,彩色模型是坐標系統和子空間的闡述。位于系統的每種顏色都有單個點表示。 在彩色圖像處理中,選擇合適的彩色模型是很重要的。從應用的角度來看,人們提出的眾多彩色模型可以分為兩類。一類面向諸如彩色顯示器或彩色打印機之類的硬設備(但可以與具體設備相關,也可以獨立于具體設備),比如 RFB、CMY、YUV 模型。另一類面向視覺感知或者說以彩色處理分析為目的的應用,如動畫中的彩色圖形,各種圖像處理的算法等,像 HSI、HSV 模型等。

8、YUV 顏色空間

亮度信號(Y)和色度信號(U,V)是相互獨立的,也就是Y信號分量構成的黑白灰度圖與用U,V信號構成的另外兩幅單色圖是相互獨立的。由于Y,U,V是獨立的,所以可以對這些單色圖分別進行編碼。黑白電視機能夠接收彩色電視信號也就是利用了YUV分量之間的獨立性。采用 YUV 顏色空間的好處在于人眼對彩色圖象細節的分辨本領比對黑白圖象低,因此,對色差信號, U、V,可以采用“大面積著色原理”。即用亮度信號Y 傳送細節,用色差信號U、V 進行大面積涂色。因此,彩色信號的清晰度由亮度信號的帶寬保證,而把色差信號的帶寬變窄。正是由于這個原因,在多媒體計算機中,采用了 YUV 彩色空間,數字化的表示,通常采用Y:U:V = 8:4:4, 或者 Y:U:V = 8:2:2。例如8:2:2具體的做法是:對亮度信號Y,每個像素都用8位2進制數表示(可以有256級亮度),而U、V 色差信號每4個像素點用一個8位數表示,即畫面的粒子變粗,但這樣能夠節約存儲空間,將一個像素用24位表示壓縮為用12位表示,節約 1/2 存儲空間,而人的眼睛基本上感覺不出這種細節的損失,這實際上也是圖像壓縮技術的一種方法。

YUV格式通常有兩大類:打包(packed)格式和平面(planar)格式。前者將YUV分量存放在同一個數組中,通常是幾個相鄰的像素組成一個宏像素(macro-pixel);而后者使用三個數組分開存放YUV三個分量,就像是一個三維平面一樣。

9、圖像縮放

圖像縮放(Scaler)技術,也稱圖像尺度轉換、圖像重采樣和圖像分辨率轉換技術,是視頻圖像處理中的關鍵技術,廣泛應用于實現 FPD 圖像分辨率轉換。例如,高清晰度數字電視接收到 NTSC 或 PAL 格式的標準清晰度數字電視信號后需轉換成 HDTV(1920×1080)格式,才能在 HDTV 的電視上顯示;另外,等離子(PDP)電視、TFT-LCD 電視等逐行顯示器,須提升接收到的圖像分辨率使之和液晶顯示屏的物理分辨率一致,才能在終端上顯示出視頻圖像;因此,Scaler 性能的優劣,將直接決定顯示器圖像的質量。

圖像縮放可理解為圖像的重采樣過程,關鍵在于用連續模型函數來擬合原始離散圖像,在求得連續模型參數后,根據所需縮放倍率對此連續圖像進行重采樣,得到符合目標分辨率的離散圖像。數字圖像重采樣的本質是對離散圖像點進行插值的過程。根據采樣/重建理論,理想的插值核為 sinc 函數,但在物理上是不可實現的。通常的插值核函數都是采用近似于 sinc 函數的有限寬度插值函數。最近鄰域法是最簡單的縮放算法,但會使處理后的圖像產生明顯的鋸齒形邊緣和馬賽克效應。雙線性插值法雖然能解決最近鄰域法所存在的問題,但卻容易造成圖像邊緣的模糊。作為改進,又提出了加窗 sinc 核函數,從而得到了高次插值算法,如立方插值、高次樣條插值等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253025.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

51nod 1027 大數乘法

1027 大數乘法基準時間限制&#xff1a;1 秒 空間限制&#xff1a;131072 KB 分值: 0 難度&#xff1a;基礎題收藏關注給出2個大整數A,B&#xff0c;計算A*B的結果。 Input第1行&#xff1a;大數A 第2行&#xff1a;大數B (A,B的長度 < 1000&#xff0c;A,B > 0&#xff…

file mmap

do_set_pmd統計參數只會在這里設置&#xff1a; add_mm_counter(vma->vm_mm, MM_FILEPAGES, HPAGE_PMD_NR);但是這貌似都是處理大頁的情況哪&#xff0c;小頁呢&#xff1f; alloc_set_pte中有函數&#xff1a;inc_mm_couter_fast(vma->vm_mm, mm_couter_file(page)&…

Linux鏈接庫三(C跟C++之間動態庫的相互調用)

http://www.cppblog.com/wolf/articles/74928.html http://www.cppblog.com/wolf/articles/77828.html http://www.jb51.net/article/34990.htm C和C之間庫的互相調用 extern "C"的理解&#xff1a; 很多人認為"C"表示的C語言&#xff0c;實際并非如此&…

C#如何開發多語言支持的Winform程序

C# Winform項目多語言實現(支持簡/繁/英三種語言)有很多種方案實現多語言&#xff0c;我在這里介紹一種最簡單最容易理解的&#xff0c;作為教學材題應該從通俗易懂入手。在寫這篇文章之前&#xff0c;本來想用枚舉窗體對象成員的方式設置語言&#xff0c;但是找不到源代碼了&a…

Alpha 沖刺 (2/10)

Alpha 沖刺 &#xff08;2/10&#xff09; 隊名&#xff1a;第三視角 組長博客鏈接 本次作業鏈接 團隊部分 團隊燃盡圖 工作情況匯報 張揚&#xff08;組長&#xff09; 過去兩天完成了哪些任務&#xff1a; 文字/口頭描述&#xff1a; 1、學習qqbot庫&#xff1b; 2、實時保存…

Linux學習之第二課時--linux命令格式及命令概述

命令概述 Linux提供了大量的命令&#xff0c;利用它可以有效地完成大量的工作&#xff0c;如磁盤管理&#xff0c;文件存取&#xff0c;目錄操作&#xff0c;進程管理&#xff0c;文件權限設定等 Linux命令格式 Linux命令的組成部分&#xff1a;命令字 命令選項參數&#xff…

Linux C語言調用C++動態鏈接庫

Linux C語言調用C動態鏈接庫 標簽&#xff1a; C調用C庫 2014-03-10 22:56 3744人閱讀 評論(0) 收藏 舉報 分類&#xff1a; 【Linux應用開發】&#xff08;48&#xff09; 版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 如果你有一個c做的動態…

Android實踐 -- 對apk進行系統簽名

對apk進行系統簽名 簽名工具 網盤下載 &#xff0c;需要Android系統的簽名的文件platform.x509.pem 和 platform.pk8 這個兩個文件在Android源碼中的 ./build/target/product/security 目錄下 具體的使用方法&#xff1a; java -jar signapk.jar platform.x509.pem platform.…

Java編寫基于netty的RPC框架

一 簡單概念RPC: ( Remote Procedure Call),遠程調用過程,是通過網絡調用遠程計算機的進程中某個方法,從而獲取到想要的數據,過程如同調用本地的方法一樣.阻塞IO :當阻塞I/O在調用InputStream.read()方法是阻塞的,一直等到數據到來時才返回,同樣ServerSocket.accept()方法時,也…

linux下c和c++互相調用

c調用cpp 創建個目錄 創建4個文件 c.c--c文件 cpp.cpp--c文件 cpp.hh--c聲明文件 Makefile c.c [javascript] view plaincopy#include "cpp.hh" int main() { cpp_fun(); } cpp.cpp [cpp] view plaincopy#include "cpp.hh" #include <stdi…

Applications Manager Docker監控

Docker 是一個流行的開源容器應用程序&#xff0c;允許您將應用程序、應用程序的內部依賴和關聯庫打包到一個單元中。Docker 的主要優點在于單臺機器上的多個 docker 容器共享同一操作系統內核&#xff0c;這可以幫助提升性能和節省大量內存。監控 docker 容器會很困難&#xf…

find

Linux中find常見用法示例 find path -option [ -print ] [ -exec -ok command ] {} \; find命令的參數&#xff1b; pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄&#xff0c;用/來表示系統根目錄。-print&#xff1a; find命令將匹配的文件輸出…

PHP將多個文件中的內容合并為新的文件

function test(){$hostdir iconv("utf-8","gbk","C:\Users\原萬里\Desktop\日常筆記") ; //iconv()轉換編碼方式&#xff0c;將UTF-8轉換為gbk&#xff0c;若是報錯在gbk后加//IGNORE$filesnames scandir($hostdir); …

HTTP Live Streaming直播(iOS直播)技術分析與實現

不經意間發現&#xff0c;大半年沒寫博客了&#xff0c;自覺汗顏。實則2012后半年&#xff0c;家中的事一樣接著一樣發生&#xff0c;實在是沒有時間。快過年了&#xff0c;總算忙里偷閑&#xff0c;把最近的一些技術成果&#xff0c;總結成了文章&#xff0c;與大家分享。 前些…

中文論文格式【雜】

轉自知乎&#xff0c;https://www.zhihu.com/question/23791742/answer/344752056 【紙張】畢業論文一律打印&#xff0c;采取A4紙張&#xff0c;頁邊距一律采取&#xff1a;上、下2.5cm&#xff0c;左3cm,右1.5cm&#xff0c;行間距取多倍行距(設置值為1.25);字符間距為默認值…

jmeter 非gui 模式跑jmx

D:\study\apache-jmeter-3.0\bin>jmeter -n -t D:\study\apache-jmeter-3.0\基金排行.jmx -l D:\study\apache-jmeter-3.0\result_log\獲取基金排行.jtl D:\study\apache-jmeter-3.2\bin>jmeter -n -t D:\study\apache-jmeter-3.2\bin\examples\test\百度新聞首頁.jmx -l…

noip模擬賽 遭遇

分析&#xff1a;暴力挺好打的&#xff0c;對于前30%的數據神搜&#xff0c;hi相同的數據將所有的建筑按照c從小到大排序&#xff0c;看最多能跳多少,ci0的數據將所有的建筑按照h從小到大排序&#xff0c;枚舉起點和終點&#xff0c;看能否跳這么多,取個max就可以了.這樣70分就…

揭開全景相機創業真相:國外一開源國內就自主

今年以來全景相機有了一個大爆發&#xff0c;國外Google、三星、諾基亞等大廠都進入了這個領域&#xff0c;國內也有很多廠商推出了全景相機。 Bubl全景相機國外一開源&#xff0c;國內就自主。這在VR&#xff08;虛擬現實&#xff09;領域體現的淋漓盡致——Google的Cardborad…

福大軟工1816 · 團隊現場編程實戰(抽獎系統)

值得一看的補充版本演示視頻 軟工錦鯉在這里程序版本鏈接及說明 按時提交版本 以基礎功能為主github鏈接&#xff1a;first version測試環境說明 本程序在python 3.6以上環境下運行操作說明&#xff1a; 鍵入抽獎關鍵詞&#xff0c;支持&#xff1a;#我要紅包#或“我要換組“或…

LeakCanary——直白的展現Android中的內存泄露

之前碰到的OOM問題&#xff0c;終于很直白的呈現在我的眼前&#xff1a;我嘗試了MAT&#xff0c;但是發現不怎么會用。直到今天終于發現了這個新工具&#xff1a; 當我們的App中存在內存泄露時會在通知欄彈出通知&#xff1a; 當點擊該通知時&#xff0c;會跳轉到具體的頁面&am…