2010-09-09 190 views
5

目前我正在使用的應用程序具有使用Zxing庫連續掃描QR /條碼的主要功能(http://code.google.com/p/zxing/)。對於連續幀捕獲,我用來初始化AVCaptureSession和AVCaptureVideoOutput,AVCaptureVideoPreviewLayer中描述的蘋果Q & A http://developer.apple.com/iphone/library/qa/qa2010/qa1702.htmlAV基礎攝像頭預覽圖層被放大,如何縮小?

我的問題是,當我用來運行相機預覽時,通過視頻設備看到的圖像比通過iPhone的靜態相機看到的圖像大得多(1.5倍)。我們的客戶在掃描時需要將iPhone與條碼保持5釐米左右的距離,但如果您將iPhone固定在該參數上,整個QR碼將不可見並且解碼失敗。 爲什麼iPhone 4中的攝像機放大圖像(通過查看AVCaptureVideoPreviewLayer)?

回答

4

我再次回答我自己的問題。即使在蘋果開發者論壇上,這個問題也沒有得到解答,因此我直接向蘋果提交了技術支持請求,他們回覆說這是一個已知問題,將會在未來的版本中修復併發布。所以,除了等待和觀察外,我們無能爲力。

+0

對此有什麼好運? – user281300 2014-05-07 17:56:51

5

您看到與內置iPhone相機應用程序相同的行爲。在靜態和視頻捕捉模式之間切換,您會注意到默認縮放級別會發生變化。您可以在靜止模式下看到更寬的視角,而視頻模式稍微放大。

我的猜測是,連續視頻拍攝需要使用相機傳感器的較小面積才能達到最佳效果。如果它使用了整個傳感器,那麼系統可能無法維持30 fps。使用傳感器的較小區域會產生「放大」到場景的效果。

13

這是AVCaptureSession視頻預設的功能,可以使用.sessionPreset屬性進行訪問。例如,在配置你的captureSession後,卻開始之前,你想補充

captureSession.sessionPreset = AVCaptureSessionPresetPhoto; 

在這裏看到的文檔:

iOS Reference Document

視頻的默認預設爲1280×720(我認爲),這是分辨率低於相機支持的最大分辨率。通過使用「照片」預設,您可以獲取原始相機數據。

+0

乾杯,我最初是在拍攝圖像時將塊預設置在塊中。所以第一張圖片總是會變大。 – 2012-07-20 04:04:12