內核中驅動(dòng)我想硬件商會(huì )提供一個(gè)實(shí)現了基礎功能的代碼包(純 C),你可能需要做些移植或 debug 工作。但像 HTC 的連拍功能,很可能是 HTC 開(kāi)發(fā)人員自己實(shí)現的,而不是高通(至今未在高通內核源 Codeaurora 中見(jiàn)到過(guò)連拍補丁的提交)。相機資源在 Android 內核中是在主板驅動(dòng)(board-xxx.c)中定義的,比如一些屬性,io 地址,內存映射段(這是內核預分配的一段連續地址,為了提高載入速度,比如高通的 PMEM_ADSP),指定驅動(dòng)模塊名等。這些定義會(huì )在相機驅動(dòng)加載時(shí)用到。因為你比較熟悉 C 語(yǔ)言,如果有 Linux 內核調試經(jīng)驗的話(huà),相信理解這部分內容并不太困難。
而 HAL 驅動(dòng)庫通常也都有藍本可參考,需要實(shí)現的接口與細節在 Google Android 開(kāi)發(fā)者文檔中都有說(shuō)明呢,基本上是將 frameworks 中關(guān)于相機頭文件中定義的函數一一實(shí)現;這部分一般是 C++ 完成的。HAL 與內核相機模塊通訊用得最多的是 ioctl 直接申請資源,所以你可能需要找份內核驅動(dòng)開(kāi)發(fā)文檔學(xué)習下如何添加自己的 ioctl 函數。關(guān)于相機啟動(dòng)時(shí) HAL 中函數的調用關(guān)系,網(wǎng)上可找到很多分析博文。
我所知道的大概就這些,細節沒(méi)法說(shuō)也沒(méi)能力說(shuō)清楚了。
java 并且必須掌握 JNI。
了解android應用編程。
會(huì ) C ++ ,看android 源碼中 就是在 c C++ Java 三種語(yǔ)言中穿梭。
知道 android 系統的啟動(dòng)流程。
會(huì )HAL(硬件抽象層)。
會(huì )Linux系統知識,及Linux-kernel、Linux驅動(dòng)開(kāi)發(fā)。因為HAL還是調用Linux驅動(dòng)的。
android是在Linux-kernel上再建立了一個(gè)類(lèi)似文件系統的系統。
1.鏡頭:
鏡頭類(lèi)似于人眼,是決定拍照質(zhì)量的關(guān)鍵性因素。專(zhuān)業(yè)鏡頭對圖像的銳度控制是否合理、色彩還原是否真實(shí)、畸變是否嚴重等等因素起著(zhù)至關(guān)重要的作用。
對于手機拍照用戶(hù)來(lái)說(shuō),對于鏡頭的選擇不像單反相機那樣可控可換,除了在購買(mǎi)手機前,稍作選擇外,對于正在使用的手機,用戶(hù)在拍照時(shí)可以不用考慮這個(gè)因素是否可以向單反那樣更換,因為怎么做都只能是徒勞。
2.傳感器種類(lèi)、尺寸和像素高低:
相機傳感器分為CCD和CMOS兩大類(lèi)。整體來(lái)說(shuō),CCD的成像質(zhì)量較好,當然價(jià)格也比較貴;CMOS器件產(chǎn)生的圖像質(zhì)量相比CCD來(lái)說(shuō)稍低一些,但其最大特點(diǎn)是非常省電,所以,在同時(shí)考慮價(jià)格的情況下,目前主流的手機都使用的是CMOS的傳感器。
傳感器尺寸和像素高低對照片質(zhì)量產(chǎn)生很大影響。數碼相機中,傳感器尺寸越大、像素越高,其中記錄的信息就越多,顆粒便越細膩,放大效果也越好;反之,傳感器尺寸越小、像素越低,記錄的信息也就越少,顆粒也越粗糙,放大效果也便越差。
對于手機的傳感器,在極其有限的空間中,沒(méi)有條件選擇太大尺寸的傳感器。對于像素這一很多用戶(hù)最看重的因素,其實(shí)并非是決定成像質(zhì)量的唯一因素,在同種、同尺寸傳感器的情況下,像素數越高,手機的拍照質(zhì)量越好才更有說(shuō)服力,單一的注重像素并不十分理性。當然,對于這幾個(gè)因素,用戶(hù)也只能被動(dòng)的任從廠(chǎng)商安排,不能再拍照時(shí)為了拍的更好,對其進(jìn)行調節。
3.照片格式:
相比最常用的JPEG格式,RAW格式拍攝的照片可調節性更好,質(zhì)量也更高,不過(guò)缺點(diǎn)是RAW的照片更占空間。目前已經(jīng)有些手機支持RAW拍攝,不過(guò),在空間不多的情況下,如果不是要求太高的話(huà),還是選擇JPEG比較合適。
4.光線(xiàn):
拍照看光線(xiàn),簡(jiǎn)單來(lái)說(shuō),在光線(xiàn)充足的情況下,手機拍出的照片質(zhì)量要比光線(xiàn)不足的情況下好很多,但這也不盡然,有時(shí)候在光線(xiàn)過(guò)強的情況下,有些手機會(huì )產(chǎn)生比較嚴重的偏色現象,所以也是視情況而定。
另外,光線(xiàn)的方向也對手機拍出的照片質(zhì)量有很大影響,在順光情況下,質(zhì)量要強于逆光拍攝的照片。所以,一般用戶(hù)拍照前最好要先確認一下光線(xiàn)的方向,盡量在順光的情況下拍攝照片。對于這點(diǎn)是很多用戶(hù)用手機實(shí)際拍照時(shí)很容易忽略的。
拍照前后有那些技巧?
對于手機本身的硬件方面,手機用戶(hù)不能隨意做出更改決定,所以在拍照時(shí)可以不用考慮。但是對于其他方面,想要用手機拍出非常滿(mǎn)意的照片,用戶(hù)還是有很大的發(fā)揮空間的。手機拍照也需要技巧:
1.拍攝前:
光線(xiàn)是成像好壞的重要因素,手機攝像頭和照相機一樣,對光線(xiàn)的要求也很高,因此為了拍攝一張好的作品一定要選擇良好的光線(xiàn)條件,盡量避免在逆光的情況下拍攝,除了通過(guò)外部條件來(lái)滿(mǎn)足光源外,有的手機還可以通過(guò)手機內置的輔助功能來(lái)對調節:
a.調節亮度(或曝光度)。手機不能靠調節光圈快門(mén)來(lái)對拍后的圖片亮度進(jìn)行預設,但是目前很多手機都可以調節亮度(或曝光度),在光線(xiàn)稍暗的情況下可以選擇此項。
b.開(kāi)啟閃光燈。對于配備LED閃光燈的手機,在暗光條件下,打開(kāi)閃光燈能夠起到不錯的補光作用,但是其有效范圍較短,更適合近距離使用。
c.開(kāi)啟夜間模式。大多數手機用戶(hù)都知道在晚上拍照時(shí)打開(kāi)夜間模式會(huì )比較合適,另外,在白天的光線(xiàn)不足時(shí),開(kāi)啟夜間模式也能對提高亮度起到不錯的效果。不過(guò)這里需要注意的是,其取景時(shí)間稍長(cháng),所以為了避免重影,盡量拿穩手機。
d.調節感光度。有些時(shí)候,光線(xiàn)弱到一定程度,而又禁止使用閃光燈,比如在展覽館中,這個(gè)時(shí)候,如果手機中有設置ISO感光度的選項(一般分為高、中、低3項),可以將其調高,能夠在一定程度上提高亮度。不過(guò)在光線(xiàn)充足的情況下最好將其設置低一些,以免對照片質(zhì)量造成過(guò)多影響。
2.拍照時(shí):
無(wú)論是拍人還是拍景,選擇合適的角度都會(huì )大大提升自己對照片的滿(mǎn)意度。比如很多女孩喜歡自拍,需要提醒的是,自拍時(shí)要盡量將手機離自己遠一些,以免由于手機的廣角造成人會(huì )“發(fā)胖”,網(wǎng)上有很多拿手機拍攝鏡子中的自己的全身還是比較明智的;另外,如果是拍攝上半身以頭部為主的話(huà),最好是將手機鏡頭放在與視線(xiàn)平行稍靠上的位置,這樣一來(lái)可以顯得眼睛稍大,而來(lái)可以神奇“瘦臉”。
構圖。
由于手機屬于定焦廣角鏡頭,其拍攝有特殊性。基本的構圖與一般相機是一樣的,一般需要把事物放在黃金分割線(xiàn)(6:4)的位置。
但是由于其是廣角的鏡頭,拍攝景物有其優(yōu)勢,其取景范圍比較大。但是拍攝近景,尤其是花草和人物的時(shí)候,其鏡頭會(huì )變形,使事物扭曲。
因此,在拍攝人物的時(shí)候,需要離開(kāi)一定的距離,必要時(shí)可以使用數碼變焦。光影。
由于手機的感光元件、鏡頭、閃光燈和快門(mén)的原因,其色彩還原度在不同情況下不一樣。手機在拍攝外景 光線(xiàn)比較充足的時(shí)候效果不錯,好的手機可以接近一般的數碼相機的水平。
當然受限于鏡頭,其細節還是要略輸一籌。在拍攝室內的時(shí)候,由于感光元件小,光線(xiàn)不足,其圖像一般會(huì )比較灰暗,還原度較差。
其快門(mén)為自動(dòng)調節,因此不能進(jìn)行長(cháng)時(shí)間曝光。解決的方法是采用閃光燈。
但是手機閃光燈還是比較弱,其有效范圍也就2-3米。因此在進(jìn)行室內活動(dòng)拍攝的時(shí)候(酒吧表演等)表現力不佳。
同樣由于快門(mén)不能被設定,手機對運動(dòng)物體很難捕捉。妥協(xié)的方法是鏡頭追著(zhù)事物,使其在取景框中相對靜止。
輔助軟件(apps)。一般手機會(huì )自帶一改善照片的功能。
以iphone為例,可以進(jìn)行自動(dòng)改善照片、裁切、去除紅眼和HDR(把三張不同曝光度的照片疊在一起,使亮處和暗處的細節都可以展現出來(lái))的功能。手機的輔助軟件則五花八門(mén)。
具體可以分為以下幾類(lèi):1.相框類(lèi):MashiMaro Photos (iphone),Frames & FX for Photos (iphone)。2.LOMO效果:模仿LOMO相機的漏光多鏡頭等效果 Leme Camera (iphone); VIDA (android)3.漫畫(huà)效果: Paper Camera (android & iphone)4.拼貼畫(huà)效果: ToonPaint (android & iphone)5.全景拍攝:可以在攝像模式掃一圈景物,然后軟件自動(dòng)拼接成全景圖片(最多可以接近360度)例如:Video2Pano (android & iphone)自拍。
自拍是手機最大的一個(gè)類(lèi)別。因此在這里重點(diǎn)闡述一下。
很多人喜歡采用斜45度自上而下的拍攝方式,優(yōu)點(diǎn)是:1.燈光也是自上而下,重點(diǎn)突出臉部。2.與平著(zhù)拍相比,斜45度可以很容易涵蓋全身或者半身,而不需要把手機離自己很遠。
3.可以顯得下巴輪廓較小,有錐子臉的感覺(jué)。也有人喜歡在浴室對著(zhù)鏡子平著(zhù)自拍。
好處是:1.可以方便取景。2.有私房照的曖昧感覺(jué)。
壞處是:浴室需要收拾干凈。5手機拍攝附件。
在手機外接一個(gè)鏡頭或者腳架,增強其功能。Kogeto Dot for iphone 全景攝像功能,可通過(guò)軟件還原出全景的視頻。
80刀OlloClip換超廣角或魚(yú)眼或微距鏡頭for iphone6X光學(xué)鏡頭。這種鏡頭國內有很多便宜的選擇。
并有適合多種手機的適配器。
在你打開(kāi)camera的時(shí)候,你會(huì )傳入一個(gè)cameraId:
public static Camera open (int cameraId)
當你設置了cameraId,打開(kāi)camera之后,可以通過(guò)下面的代碼獲取camera信息:
android.hardware.Camera.CameraInfo info =
new android.hardware.Camera.CameraInfo();
android.hardware.Camera.getCameraInfo(cameraId, info);
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
//前置攝像頭
} else { // 后置攝像頭
}
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.290秒