camera驅(qū)動

? ?在手機中走孽,我們常將camera直接稱為sensor省容。

? ?一缸夹、sensor的種類

? ? ? ?其實這個對于驅(qū)動來說基本略知就可以了术陶,處于那種說出來要知道是在說sensor的專業(yè)名次這種程度就OK了凑懂!一般來說,sensor有兩大類梧宫,CMOS和CCD接谨。

一般來說,CCD的功耗高塘匣,拍攝質(zhì)量高脓豪,造價高,他更適合在數(shù)碼相機或DV中使用忌卤,而我們的手機中扫夜,在像素要求本來就不是苛刻,但是對空間和成本有比較高要求的話,一般都會選擇CMOS的攝像頭笤闯。它的工作原理很簡單堕阔,接收外界光線后轉(zhuǎn)化為電能,再透過芯片上的模-數(shù)轉(zhuǎn)換器(ADC)將獲得的影像訊號轉(zhuǎn)變?yōu)閿?shù)字信號輸出

二颗味、sensor的輸出格式

? ? ? ?同樣超陆,sensor的輸出格式也不是單一的,可以分為YUV浦马、JPEG时呀、RGB、RAW晶默,這幾種格式退唠。

? ? ? ?1、YUV

“Y”表示明亮度(Luminance荤胁、Luma),“U”和“V”則是色度屎债、濃度(Chrominance仅政、Chroma), 一般情況下sensor支持YUV422格式,即數(shù)據(jù)格式是按Y-U-Y-V次序輸出的盆驹。

? ? ? ?2圆丹、JPEG

這個不用很介紹,作為一種存儲格式它是非常普遍的躯喇,但是作為sensor的輸出格式的話辫封,一般是低分辨率的,其自帶JPEG engine廉丽,可以直接輸出壓縮后的jpg格式的數(shù)據(jù)

? ? 3倦微、RGB

傳統(tǒng)的紅綠藍格式,比如RGB565.通俗點說它的顏色混合方式就好像有紅正压、綠欣福、藍三盞燈,當它們的光相互疊合的時候焦履,色彩相混拓劝,而亮度卻等于兩者亮度之總和,越混合亮度越高,即加法混合嘉裤。

? ?4郑临、RAW

圖像感應器將捕捉到的光源信號轉(zhuǎn)化為數(shù)字信號的原始數(shù)據(jù)。RAW文件是一種記錄了數(shù)碼相機傳感器的原始信息屑宠,同時記錄了由相機拍攝所產(chǎn)生的一些原數(shù)據(jù)(Metadata厢洞,如ISO的設(shè)置、快門速度、光圈值犀变、白平衡等)的文件妹孙。RAW是未經(jīng)處理、也未經(jīng)壓縮的格式获枝,可以把RAW概念化為“原始圖像編碼數(shù)據(jù)”或更形象的稱為“數(shù)字底片”蠢正。

好了,介紹完他們的輸出格式之后省店,我們有樣的疑問嚣崭,我該選擇哪種格式作為輸出呢?

sensor的輸出格式一般都為YUV的懦傍,他的流程是:攝像機的原始數(shù)據(jù)應該是RAW來記錄的雹舀,里面的數(shù)據(jù)可能會是RAW RGB來表示,然后sensor模組里面自帶的ISP會將數(shù)據(jù)轉(zhuǎn)換成YUV格式的輸出出來粗俱,輸出到我們的AP里面后DSP會將YUV格式轉(zhuǎn)換成RGB的说榆,然后在輸出到屏上,如果是拍攝出來的就要經(jīng)過DSP將格式再轉(zhuǎn)換成為JPEG的存儲下來寸认。

這就讓我們很費解签财,既然能夠輸出RGB格式的數(shù)據(jù),為什么又幾經(jīng)周折偏塞,轉(zhuǎn)換來轉(zhuǎn)換去唱蒸,費時費力?在這里我們就要在照片質(zhì)量和處理速度上做一個權(quán)衡灸叼。

? ?首先神汹,如果說數(shù)據(jù)量最小,那么莫過于RAW格式古今,但是屁魏,數(shù)據(jù)傳輸過來要經(jīng)過一次性大量的計算才能將里面的信息提取出來,如果你想用捉腥,一般5M以上sensor就只輸出RAW數(shù)據(jù)以保證比較快的輸出速度蚁堤,后端掛一個DSP來處理輸出的數(shù)據(jù)。其次是JPEG但狭,數(shù)據(jù)量也很小披诗,但是同樣要求較快的處理速度。

? ?而RGB和YUV一個像素都是占用了2B的大小立磁,但是RGB卻可以數(shù)據(jù)讀出來直接刷到屏上呈队,為什么要卻要選擇YUV的呢?原因在于YUV輸出亮度信號沒有任何損失唱歧,而色偏信號人眼并不是特別敏感宪摧,RGB565輸出格式是R5G3 G3B5會丟掉很多原始信息粒竖,所以YUV圖像質(zhì)量和穩(wěn)定性要比RGB565好的多。

? 那么几于,雖然在一般平臺上默認的是YUV的蕊苗,并不是說他是最好的或不可更改的,我們要根據(jù)不同的情況選擇時候?qū)崟r的輸出格式沿彭!

說一說架構(gòu)格式朽砰,非常固定,首先在sensor_cfg.c里面申明并定義一個SENSOR_INFO_T結(jié)構(gòu)指針喉刘,然后就可以在具體的sensor_***.c里面實現(xiàn)你的驅(qū)動代碼瞧柔!

調(diào)試sensor常見的問題:

1.讀不到ID:需要確認三個電源,power down 和reset的極性睦裳,mclk造锅,I2C是否正常打開。如果這些信息確認是正確的廉邑,還不能讀到ID基本可以確認是sensor的硬件問題哥蔚。

2.能讀到ID但是點不亮:這是最常見的情況,這個是時候已經(jīng)能確認上述的硬件信號都是正常的蛛蒙,先要看HS/VS/PCLK的極性是否配置的正確糙箍,是否在預覽前丟了1幀以上,sensor的輸出尺寸是否正確宇驾。這些通常需要通過sensor的datasheet來查看寄存器配置的是否正確。

3.拍照死機:要確認是否在拍照的時候設(shè)置了set_mode(用來設(shè)置拍照時的sensor輸出數(shù)據(jù)大小的設(shè)置)猴伶,memory是否足夠大课舍?

DC_MEM = Frame_W*Frame_H*2 *MAX((1 + need_rotation),(1+is_jpg)) + 1M根據(jù)這個公式算出來,在dc_product_cfg.c中進行配置他挎。

4.花屏:如果是很多綠線的花屏的話那么通常是HS/VS/PCLK的極性配置反了或者驅(qū)動電流太小被干擾了筝尾,如果是紅藍的顏色反了的那么是yuv輸出數(shù)據(jù)反了,在yuv_info中進行配置办桨。

5.分屏:這個是刷屏的時候刷的不是同一幀數(shù)據(jù)筹淫,是LCD的FMARK引腳沒有引出來,或者沒有配置呢撞。如果LCD沒有這個腳的話损姜,需要估算一下刷屏的時間,然后將sensor輸出的幀率調(diào)的跟它匹配殊霞。

6.旋轉(zhuǎn):預覽的在startpreview里的rotation設(shè)置成需要的角度摧阅,拍照的在_DCAMERA_DoSnapshot里面將rotation設(shè)置成需要的角度,VT在傳給底層參數(shù)時將screen2sensor_angle設(shè)置為DVT_MW_ROTATE_90或其他角度绷蹲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棒卷,一起剝皮案震驚了整個濱河市顾孽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌比规,老刑警劉巖若厚,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蜒什,居然都是意外死亡测秸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門吃谣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乞封,“玉大人,你說我怎么就攤上這事岗憋∷嗤恚” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵仔戈,是天一觀的道長关串。 經(jīng)常有香客問我,道長监徘,這世上最難降的妖魔是什么晋修? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮凰盔,結(jié)果婚禮上墓卦,老公的妹妹穿的比我還像新娘。我一直安慰自己户敬,他們只是感情好落剪,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著尿庐,像睡著了一般忠怖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抄瑟,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天凡泣,我揣著相機與錄音,去河邊找鬼皮假。 笑死鞋拟,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的惹资。 我是一名探鬼主播严卖,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼布轿!你這毒婦竟也來了哮笆?” 一聲冷哼從身側(cè)響起来颤,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎稠肘,沒想到半個月后福铅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡项阴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年滑黔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片环揽。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡略荡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出歉胶,到底是詐尸還是另有隱情汛兜,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布通今,位于F島的核電站粥谬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辫塌。R本人自食惡果不足惜漏策,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望臼氨。 院中可真熱鬧掺喻,春花似錦、人聲如沸储矩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽椰苟。三九已至抑月,卻和暖如春树叽,著一層夾襖步出監(jiān)牢的瞬間舆蝴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工题诵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留洁仗,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓性锭,卻偏偏與公主長得像赠潦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子草冈,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容