android攝像頭解析度
❶ Android 6.0獲取攝像頭支持解析度列表並格式化輸出
Android開發中經常需要獲取攝像頭所支持的解析度列表,然而獲取的參數列表是List形式,而且每個解析度並不是按大小進行排列,不方便查看和返回,所以寫了一個重新排列並且格式化輸出的方法。
Camera.Parameters有三個方法獲取解析度:
理論上需要獲取預覽解析度和支持解析度兩個值,用來保證設置攝像頭的解析度後不會出現一些玄學概率問題(通常是攝察或像頭推薦的解析度和最高解析度的沖突),在實際開發中我用getSupportedVideoSizes()和getSupportedPreviewSizes()死活獲取不到值,只能通過getSupportedPictureSizes()拉取列表,獲取到的解析度也是一好舉致的。
需要注意的是,CPU型號也會影響解析度的獲取,同一個攝像頭在不同CPU上拉取到的支持解析度是不一樣的,所以還需要對不同CPU機型的攝像頭解析度進行適配。
數據定義
獲取攝像頭信息,然後循環取最大的width和height,(最大值一般是List的第一個元素,可以直接get(0)),但是有些攝像頭拉去到的list是亂序的,所以對他們進行重新按大小排序,方便取值。width*height就是攝像頭的像素,例如500百萬像素。
重新排列解析度列表
格式化輸出成常見的寬x高格式
使用完相機之後一定要記得用 Camera.release()來釋放相機的實例,否則後續調用相機的請求(系統內其他app或本應用)都會失敗,導致Camera.open()方法報錯「Failed to connect to camera service」。所以同理,出現這種問題敗襪伍的時候也可以排查系統中其他apps是否正在佔用攝像頭沒有釋放。
在Android 6.0版本的攝像頭開發中,使用Camera.open()方法時,需要在onCreate()方法中加入下面的許可權申請,否則同樣會報錯"Failed to connect to camera service"
運行結果如下
❷ android如何獲取相機解析度
安卓系統在獲取相機解析度時,可以參考SDK中的API,獲取相機的參數:
Camera.Parameters parameters = camera.getParameters();
獲取預覽的各種解析度:
List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();
獲取攝像頭支持的各種解析度:
List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();
例如:獲取照相機顫彎參數,設置需要的參數,其餘預設
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
設置照片格式:
parameters.setPictureFormat(PixelFormat.JPEG);
設置預瀏尺嫌洞含寸,注意要在攝像頭芹笑支持的范圍內選擇:
parameters.setPreviewSize(WIDTH, HEIGHT);
設置照片解析度,注意要在攝像頭支持的范圍內選擇
parameters.setPictureSize(WIDTH, HEIGHT);
設置照相機參數:
camera.setParameters(parameters);
開始拍照:
camera.startPreview();
以上就是獲取相機解析度的步驟。
❸ 手機攝像頭f/1.8是多少像素
手機攝像頭f/1.8像素是:攝像頭4000萬像素,f/1.8光圈鏡頭,等效焦距27毫米,副攝像頭2000萬像素,f/1.6光圈敏讓脊鏡頭,等效焦距27毫米,還有一顆800萬像素遠攝像頭。
f/1.8光圈鏡頭,等效焦距橋滲27毫米,副攝像頭2000萬像素,f/1.6光圈鏡頭,等效焦距27毫米,還有一顆800萬像素遠攝像頭。性能上則是由麒麟970處理器所提供。
如果手機的光圈夠大,同樣的快門速度下CMOS能夠獲得的光線也就越多,反之就可以用更高速的快門來防止畫面抖動。所以在拍攝運動的場景,或者環境光線較差的時候,大光圈鏡頭比小光圈鏡頭更有優勢。
手機的數碼相機功能指的是手機是否可以通過內置或是外界的數碼相機進行拍攝靜態圖片或短片拍攝,作為手機的一項新的附加功能,手機的數碼相機功能得到了迅速的發展。
夏普公司最早推出了攝像手機,使內置攝像頭的手機受到了廣泛應用,手機攝像頭行業也隨之得到了良好的發展,各類手機攝像頭生產廠商滑告如雨後春筍般出現,手機攝像頭的類型越來越豐富,手機的攝像功能成為手機用戶關注的重點。
攝像頭主要衡量的參數。解析度(像素)解析度是我們最熟悉的參數之一了。解析度主要由圖像感測器決定,解析度越高,圖像就越細膩,效果也越好,但圖像所佔存儲空間更大。
❹ android如何獲取相機解析度
//參考SDK中的API,獲取相機的參數:
Camera.Parameters parameters = camera.getParameters();
//獲取預覽的各種解析度
List
//獲取攝像頭支持的各種解析度
List
實例:
// 獲取照相機參數,設置需要的參數,其餘預設
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
// 設置照片格式
parameters.setPictureFormat(PixelFormat.JPEG);
// 設置預瀏尺寸,注意要在攝像頭支持搏雹的范圍內選擇
parameters.setPreviewSize(WIDTH, HEIGHT);
// 設置照片解析度,注意基孫帆要在凱山攝像頭支持的范圍內選擇
parameters.setPictureSize(WIDTH, HEIGHT);
// 設置照相機參數
camera.setParameters(parameters);
// 開始拍照
camera.startPreview();
❺ Android怎麼獲取攝像頭支持的視頻解析度,求詳細
拍照的時候有設置選項的,裡面有個支持最高解析度的。
❻ Android 如何獲取攝像頭所支持的所有解析度
都知皮岩李道以上可以打開攝像頭獲取到攝像頭燃遲解析度,
List<Size>
supportedPreviewSizes
=
parameters
.getSupportedPreviewSizes();
==》Gets
the
supported
preview
sizes
List<Size>
supportedPictureSizes
=
parameters
.getSupportedPictureSizes();==》Gets
the
supported
picture
sizes.
解釋://
獲取照相機參數
Camera.Parameters
parameters
=
camera.getParameters();
//
設棗灶置照片格式
parameters.setPictureFormat(PixelFormat.JPEG);
//
設置預瀏尺寸
parameters.setPreviewSize(WIDTH,
HEIGHT);
//
設置照片解析度
parameters.setPictureSize(WIDTH,
HEIGHT);
//
設置照相機參數