2013-04-06 50 views
6

我使用geUserMedia()從網絡攝像頭Intro捕獲圖像。我得到捕獲高分辨率視頻/圖像html5

最佳分辨率爲640 X 480,但我有高清網絡攝像頭與1280 X 720 記錄視頻, 拍照2592 X 1944年

如何捕獲高分辨率照片?

這是一個代碼示例。它不關心畫布大小:

<video autoplay id="vid" style="display:none;"></video> 
<canvas id="canvas" width="1280" height="720" style="border:1px solid #d3d3d3;"></canvas><br> 
<button onclick="snapshot()">Take Picture</button> 

<script type="text/javascript"> 
    var video = document.querySelector("#vid"); 
    var canvas = document.querySelector('#canvas'); 
    var ctx = canvas.getContext('2d'); 
    var localMediaStream = null; 

    var onCameraFail = function (e) { 
     console.log('Camera did not work.', e); 
    }; 

    function snapshot() { 
     if (localMediaStream) { 
      ctx.drawImage(video, 0, 0); 
     } 
    } 

    navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; 
    window.URL = window.URL || window.webkitURL; 
    navigator.getUserMedia({video:true}, function (stream) { 
     video.src = window.URL.createObjectURL(stream); 
     localMediaStream = stream; 
    }, onCameraFail); 

</script> 
+0

您可以使用媒體捕獲API獲取全分辨率圖片。在這裏看到答案; https://stackoverflow.com/a/36473227/200987 – oligofren 2017-11-06 13:23:13

回答

4

據我知道的WebRTC目前僅限於640×480,無論你有什麼樣的相機。希望這會很快改變。

+1

不再,1280x720作品(至少) – malletjo 2015-06-03 19:31:16

1

爲別人喜歡我,誰在這裏找到自己,那裏http://webrtchacks.com/video-constraints-2/是一個有用的更新。

查看原始問題,請注意,據我瞭解,使用WebRTC拍攝靜態照片實際上是從視頻提取中提取靜止幀,因此您將始終受到設備視頻分辨率的限制,即使它能夠自己捕捉更高分辨率的靜止圖像。