彩色CCD相機工作原理

原理

黑白(單色)相機

?????? CCD原理并不復雜。我們可以把它想象成一個頂部被打開的記憶芯片。因此光束可以射到記憶單元中。根據"光電效應”,這些光束在記憶單元中產生負電荷(下圖中右上部分)。



?????? 曝光后,這些電荷被讀出,進而被相機處理單元進行預處理。從相機處理單元輸出的就是一幅數字圖像。

?????? 如果相機要求以模擬格式輸出視頻,我們就必須對該數字原始圖像進行相應轉換。然而這個問題與本文所討論的“彩色相機如何工作”并無關聯。我們只需考慮數字格式的原始圖像。


3CCD彩色相機

????? 你可以說CCD芯片將光子轉換為電子,在這一過程當中,光子數目與電子數目互成比例。但光子還有另外一個特征值——波長,而這條信息卻沒有在這個過程中被轉換為電子。因此,從這個意義上說,CCD芯片都可以被稱為色盲。

?????? 如果我們需要相機內的圖像處理單元在每個像素上都輸出紅、綠和藍三種顏色分量的值,就必須給這三種基色中的每種顏色都配置一個CCD。每個CCD都只得到過濾后一個顏色分量的光子,即一個CCD用于紅光,一個用于綠光,一個用于藍光。我們用三棱鏡將這三種顏色分離開來。


????? 這個簡單的解決方法在實際應用中可以得到非常理想的效果。但它有一個重要的缺點——價格昂貴。因此人們早已開始研發基于一個CCD的設計理念彩色相機。下節將介紹最常用的一種。


單CCD彩色相機

?????? 如果考慮到價格因素,我們只能使用一個CCD芯片,那么我們就得把彩色濾光片象馬賽克一樣分布在CCD所有的像素上。這一概念也被稱為馬賽克濾光片或拜爾濾光片(最初由拜爾先生發明)。

????? 這樣一來,每個像素只能產生紅、綠或藍三色當中一種顏色的值。但是在輸出時,所有像素都應該有這三種顏色的信息。我們應該如何找回其余兩種被濾除的顏色分量值呢?

???? 答案是由相機處理單元執行的空間色彩插值法。以下圖中左下角的紅色像素為例,我們需要的是被濾除的綠色與藍色的值。而插值法通過分析與這個紅色像素相鄰的像 素可以估算出這兩個值。在本例中,我們發現綠色像素含有大量電荷,但藍色像素電荷數為零。因此這個紅色像素實際上是黃色的。在稍后的色彩插值一節中您將可以了解到有關色彩插值的詳細信息。



????? 如果對3CCD相機生成的3幅數字原始圖像與單CCD相機生成的3幅數字始圖像進行比較,我們會發現它們看起來完全相同。但這僅僅對我們這個簡化的例子是成立的。在實際應用中,即使最好的彩色空間插值法也會產生低通效應。因此,單CCD相機生成的圖像要比3CCD相機或黑白相機的圖像模糊,這點在圖像中有超薄或纖維形物體的情況下尤為明顯。



用于成像與測量的單CCD相機

成像

????? 在原理一節中,我們已經了解了用于成像的單CCD彩色相機的工作原理。馬賽克濾光片(亦被稱作拜爾濾光片)使得每個像素只能顯示紅、綠或藍當中的一種顏色。但由于我們希望相機能在每個像素都輸出紅、綠和藍這三種顏色,相機的處理單元需要插入缺失色彩的值。在色彩插值一節您可以了解更多詳細內容。



?????? 這一方法的顯著優點在于它能節省成本。此外,今天的單CCD相機的質量也驚人的好。因此,絕大多數彩色相機都采用此項技術。


測量

在以測量為目的圖像應用領域,色彩插值法有重大的缺點:

? 每個像素都具有紅、綠和藍的色彩值,但這三個值中只有一個真正來自CCD。其它兩個值都由插值法計算而得,即估算值。
? 這些估算值不但干擾測量過程本身,而且它們對于總線及計算機而言都會增加不必要的負載。

?????? 在圖像測量應用領域,我們認為將色彩插值關閉并把從CCD獲得的電荷直接轉換為數字原始圖像更為有利。

?????? 需要提醒讀者注意的是:現在大多數彩色圖像處理軟件都默認每個像素都有紅色、綠色和藍色值。處理數字原始圖像對于我們當中的大多數而言都還比較陌生。因此,我們在色彩插值一節中更詳細地介紹處理數字原始圖像的基本原理。




色彩插值(用于成像)

概述

??????? 在原理一節中,我們通過一個例子介紹了色彩插值的原理。為了讓該例簡單明了,三幅生成的圖像(數字原始圖像的三色被分離后的圖像)都是理想化的。

??????? 下面我們將詳細介紹兩種簡單的插值處理。一開始我們將使用在用于成像與測量的單CCD相機(測量)一節中介紹過的數字原始圖像。為了簡單起見,該數字原始圖像、它的源圖及拜爾濾光片都被列于下圖。


復制臨近像素法

?????? 填補缺失的色彩值的最簡單方法就是從臨近像素中獲取色彩值。讓我們以第二行第一個綠色像素(來自拜爾濾光片)為例(如下圖中被加粗黑框之像素所示)。


?????? 在源圖像中該點實際是紅色的(見概述),但經拜爾濾光片綠色像素過濾后色彩值變為零。我們只需要把臨近紅藍像素中的紅色與藍色值(見上圖)復制到該像素中,就能獲得其RGB值(255,0,0)。

?????? 就上圖所示例子而言,插值法產生了正確的RGB值。但在實際應用當中,對于靜止圖像,這種簡單的插值法所生成的結果是不可接受的。但由于它并不耗費多少時間,我們可以將其用于對質量標準要求不高的視頻數據流中(例如視頻預覽)。


臨近像素均值法(雙線性插值)



?????? 我們可以對“復制插值法”作出的第一個改進就是使用若干臨近像素的均值。如圖所示,這種方法同樣可以得到正確的RGB值(255,0,0)。

?????? 但第二個例子指出了均值法的一個重大缺陷:均值法有低通特性,并由此將清晰的邊界鈍化。RGB值本應是(255,0,0),但實際上變成了(255,128,64),因此該點變成了棕橙色。

?????? 今天相機中所使用的插值法的性能要大大高于前面介紹的這兩種基本方法。A Study of Spatial Color Interpolation Algorithms for Single-Detector Digital Cameras一文 對這些算法做了很好的介紹和比較。

?????? 一般情況下現場工程師不大可能選擇或改變一個普通彩色相機的插值法。為了提供給用戶更大的靈活性,
The Imaging Source 提供一系列不帶插值處理功能的彩色相機,如1394相機中的 DBK 21F04, DBK 21AF04, DBK 21BF04, DBK 31AF03, DBK 31BF03, DBK 41AF02和DBK 41BF02,以及USB2.0相機中的 DBK 21AU04, DBK 21BU04, DBK 31AU03, DBK 31BU03, DBK 41AU02 及 DBK 41BU02。它們尤其適用于需要自行處理原始圖像數據的用戶。



色彩還原(用于測量)

概述

?????? 在用于成像與測量的單CCD相機一節中,我們了解到經過插值處理的圖像并不適用于以測量為目的的實際應用。其原因可以通過下圖中的例子予以解釋。

?????? 源圖像由色彩及其相近的兩個區域組成。左半邊像素的RGB值為(0,255,128),右半邊的像素值為(0,255,144)。


對經過插值處理的圖像進行還原處理



?????? 上圖顯示了我們對源圖像進行插值處理后的結果。為了簡化運算,我們使用在色彩插值一節中介紹過的均值插值法(雙線性插值法)。結果得到紅、綠、藍三色的三幅圖像。

?????? 柱狀圖是一種區分圖像區域的經典方法。如右圖所示,紅色分量圖只有64個灰度級為0的值,而綠色分量圖中只有64個灰度級為255的值。因此,這兩幅圖對于區分不同區域起不到任何作用。

?????? 只有藍色分量柱狀圖顯示出一個介于32個128值與24個144值之間的“谷值”。8個灰度級為136的值就是色彩插值低通效應的結果。這一效應使得原本清晰的邊界變得模糊。


對數字原始圖像進行還原處理

直接對數字原始圖像進行柱狀圖分析有如下兩點優勢:

? 可以省去占總量三分之二的冗余信息。
? 由于沒有使用插值處理,諸如邊界模糊之類的干擾得以避免。

????? 三幅柱狀圖再次表明紅色和綠色圖對于我們的分析沒有意義。藍色柱狀圖則再次準確的反映了源圖像的關系。

????? 也許會有人反對說,均值插值法(雙線性插值法)今天已不再被應用,因為人們已經開始使用比它高效得多的算法。但效率應與成像質量優化問題聯系在一起考慮,而且其中起評判標準的作用的是人類的視覺系統。所以如果從測量應用的角度出發,高效的插值法會在圖像還原時導致不同類型的干擾。

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

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

相關文章

Linux 系統常用命令匯總(二) vi 文本編輯

文本編輯vi命令作用文件名編輯文本文件,若文件不存在同時創建該文件Ctrlf向后翻一頁Ctrlb向前翻一頁Ctrld向后翻半頁Ctrlu向前翻半頁光標移動到下一行-光標移動到上一行數字空格光標向右移動n個字符0移動到本行首個字符處$ 移動到本行最后一個字符處H光標移動到屏幕…

圖像處理與計算機視覺:基礎,經典以及最近發展(2)圖像處理與計算機視覺相關的書籍

1. 數學 我們所說的圖像處理實際上就是數字圖像處理,是把真實世界中的連續三維隨機信號投影到傳感器的二維平面上,采樣并量化后得到二維矩陣。數字圖像處理就是二維矩陣的處理,而從二維圖像中恢復出三維場景就是計算機視覺的主要任務之一。這…

【HTML學習】——HTML常見標簽屬性和方法介紹

目錄 1、HTML分塊--------< div> 2、HTML段落--------< p> 3、HTML標題--------< h1>…< h6> 4、HTML鏈接--------< a> 1)< a href“http://www.baidu.com”>百度< /a>&#xff08;點擊百度&#xff0c;直接跳轉到網頁&#xf…

開發者應警惕的七種糟糕職業規劃錯誤

那些心靈雞湯式的說辭總愛美化失敗&#xff1a;失敗是成功之母啦、失敗使人成長啦、別畏懼失敗等等。但事實上&#xff0c;這種思路在軟件開發領域也許并不適用——至少不完全適用。每位開發者在職業生涯中都不可避免會遭遇失敗&#xff0c;但為什么不從他人的經驗中汲取教訓來…

Splay模板

打LCT的時候發現Splay很不熟, 因此這里貼一下模板 洛谷P3369 https://www.luogu.org/problem/show?pid3369#sub /* 提一些要注意的點: 1. 注意判斷邊界, 不要訪問到空節點 2. 每一次操作或訪問完以后, 記得要splay到root 3. insert操作只要update當前節點和父親節點即可, 因為…

圖像處理與計算機視覺 基礎、經典以及最近發展

申明&#xff1a;本文非筆者原創&#xff0c;原文轉載自&#xff1a;http://blog.csdn.net/liuyue2046/article/details/12658441 ***************************************************************************************************************************************…

【HTML學習】——一個網頁HTML編程的構成

目錄 1、html網頁構成介紹 2、HTML標簽介紹 全部的html標簽&#xff1a; HTML: HyperText Markup Language | MDNhttps://developer.mozilla.org/en-US/docs/Web/HTML 一個網頁文件一般由.html結尾的文件組成&#xff0c;主要由不同的標簽對和內容組成&#xff0c;常見的html…

hbase里插入big int數據用Phoenix查看的報錯問題

Phoenix建表create table "test_big_int"("ROW" varchar primary key,"ci"."column1" bigint) 在hbase里put數據hbase 里面進行put: put test_big_int,001,ci:column1,1 在Phoenix里進行查看&#xff08;問題出現&#xff09;第二個嘗…

機器學習:利用卷積神經網絡實現圖像風格遷移 (一)

相信很多人都對之前大名鼎鼎的 Prisma 早有耳聞&#xff0c;Prisma 能夠將一張普通的圖像轉換成各種藝術風格的圖像&#xff0c;今天&#xff0c;我們將要介紹一下Prisma 這款軟件背后的算法原理。就是發表于 2016 CVPR 一篇文章&#xff0c; “ Image Style Transfer Using Co…

jquery中attr和prop的區別

在高版本的jquery引入prop方法后&#xff0c;什么時候該用prop&#xff1f;什么時候用attr&#xff1f;它們兩個之間有什么區別&#xff1f;這些問題就出現了。 關于它們兩個的區別&#xff0c;網上的答案很多。這里談談我的心得&#xff0c;我的心得很簡單&#xff1a; ?對于…

博客園自定義樣式

碎碎念&#xff1a; 已經很長時間沒有更新過博客了&#xff0c;分析一下&#xff0c;一個是太懶了。。。所以很久沒整理一下了。還有就是嫌棄博客園默認的博客界面真的太丑了&#xff0c;作為顏控的我真的無法忍受啊。個人比較喜歡用makedown來編寫博客&#xff0c;但是博客園自…

【CSS】——cascading stylesheets層疊式樣式表

目錄 0、CSS介紹 1、CSS語句組成 2、CSS選擇器的選擇方式 1&#xff09;CSS選擇器的方式和選擇器大全&#xff1a; 2&#xff09;常見的三種方式&#xff1a; 3、添加CSS方式 1&#xff09;外部樣式表 html調用css代碼 css文件 html文件 展示 2&#xff09;內部樣式表…

四 Apache Axis2 部署 WebService

最新版本1.7.4發布日期2016-10-21 Axis2官網下載如下文件&#xff1a; axis2-1.6.2-bin&#xff1a;二進制的axis axis2-1.6.2-docs&#xff1a;幫助文檔 axis2-1.6.2-war&#xff1a;axis.war 文件 axis2-eclipse-codegen-plugin-1.6.2&#xff1a;Eclipse axis client 插件 a…

安裝OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 開發環境配置

因為讀研期間的研究方向是圖像處理&#xff0c;所以淺墨這段時間閉門研究了很多OpenCV和圖像處理相關的知識與內容。眼看自己積累到一定的程度了&#xff0c;于是決定開始開設這個OpenCV系列專欄&#xff0c;總結自己所學&#xff0c;也分享知識給大家。 好了&#xff0c;這篇文…

powerdesigner中如何在自動生成建表SQL時添加模式名schema

1、在主菜單中選擇“模型”→“users and roles”→“users”&#xff0c;新增一個user&#xff0c;其中"name"字段就是要添加的模式名。 2、在新增表時&#xff0c;在表屬性的“general”頁簽中選擇"owner"&#xff0c;選擇剛才新增的user&#xff0c;即可…

spark 免密碼登錄- ssh 指定非22端口

vi /etc/profile在profile 文件最后一行加入命令&#xff1a; export SPARK_SSH_OPTS"-p 7315" #注&#xff1a;7315 是ssh 端口轉載于:https://www.cnblogs.com/chengjunhao/p/8336086.html

【django學習】——Django介紹和實戰(開發簡易版博客網頁)

目錄 0、視頻鏈接 1、環境配置 2、django基本命令 1&#xff09;常見命令 2&#xff09;數據庫相關的Django命令 3、Django項目 1&#xff09;Django創建項目 2&#xff09;項目目錄介紹 3&#xff09;運行初始化的Django項目 4、Django應用 1&#xff09;Django項目和Djan…

求最大子數組03

題目: 返回一個二維整數數組中最大聯通子數組的和。 要求&#xff1a; 1. 輸入一個二維整形數組&#xff0c;數組里有正數也有負數。 求所有子數組的和的最大值。要求時間復雜度為O(n)。 2.程序要使用的數組放在一個叫 input.txt 的文件中&#xff0c; 文件格式是: 數組的行…

warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.

使用VS2005以上版本&#xff08;VS2005、VS2008、VS2010&#xff09;編譯在其他編譯器下正常通過的C語言程序&#xff0c;你可能會遇到類似如下的警告提示&#xff1a;引用內容 warning C4996: strcpy: This function or variable may be unsafe. Consider using strcpy_…

糾錯——【Singleton array array(0.2) cannot be considered a valid collection.】

# 將數據集按照比例劃分為訓練集和測試集 def split_datas(datas,labels,random_state1,train_size0.9,test_size0.1):train_data, test_data, train_label, test_label sklearn.model_selection.train_test_split(datas,labels,random_staterandom_state,# 作用是通過隨機數來…