Windows 应用:使用 javascript 从预览帧获取像素数据
Windows app: get pixeldata from preview frame with javascript
我正在使用 WinJs 创建一个带有 javascript 的应用程序来获取相机预览。
通过预览,我得到了一个视频帧,但现在我想获取所有像素 rgba 数据以计算平均颜色和其他信息。
我使用 Media.Capture class 的 getPreviewFrameAsync 方法。对吗?
mediaCapture.getPreviewFrameAsync(videoFrame)
.then(function (currentFrame) {
//get pixeldata rgba of frame of camerapreview
}
这些 class 中的 javascript 中的文档非常差....
谢谢
工程设计
I use getPreviewFrameAsync method of Media.Capture class. Is it right?
是的,有了这个你可以获得videoframe object. After then, you can get the SoftwareBitmap object which contains the pixel data by VideoFrame.SoftwareBitmap属性。代码如下:
return oMediaCapture.getPreviewFrameAsync(videoFrame)
.then(function (currentFrame) {
// Collect the resulting frame
var frameBitmap = currentFrame.softwareBitmap;
// Show the frame information
frameInfoTextBlock.textContent = frameBitmap.pixelWidth + "x" + frameBitmap.pixelHeight + " " +
stringOfEnumeration(Windows.Graphics.DirectX.DirectXPixelFormat, frameBitmap.bitmapPixelFormat);
官方示例CameraGetPreviewFrame提供了用javascript语言编写的例子,里面有你想要的功能的例子可以参考。
我正在使用 WinJs 创建一个带有 javascript 的应用程序来获取相机预览。 通过预览,我得到了一个视频帧,但现在我想获取所有像素 rgba 数据以计算平均颜色和其他信息。 我使用 Media.Capture class 的 getPreviewFrameAsync 方法。对吗?
mediaCapture.getPreviewFrameAsync(videoFrame)
.then(function (currentFrame) {
//get pixeldata rgba of frame of camerapreview
}
这些 class 中的 javascript 中的文档非常差.... 谢谢
工程设计
I use getPreviewFrameAsync method of Media.Capture class. Is it right?
是的,有了这个你可以获得videoframe object. After then, you can get the SoftwareBitmap object which contains the pixel data by VideoFrame.SoftwareBitmap属性。代码如下:
return oMediaCapture.getPreviewFrameAsync(videoFrame)
.then(function (currentFrame) {
// Collect the resulting frame
var frameBitmap = currentFrame.softwareBitmap;
// Show the frame information
frameInfoTextBlock.textContent = frameBitmap.pixelWidth + "x" + frameBitmap.pixelHeight + " " +
stringOfEnumeration(Windows.Graphics.DirectX.DirectXPixelFormat, frameBitmap.bitmapPixelFormat);
官方示例CameraGetPreviewFrame提供了用javascript语言编写的例子,里面有你想要的功能的例子可以参考。