首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有可能在没有画布的情况下从ImageBitMap web对象中获取像素?

有没有可能在没有画布的情况下从ImageBitMap web对象中获取像素?
EN

Stack Overflow用户
提问于 2021-06-23 23:38:00
回答 1查看 39关注 0票数 1

我需要在js中管理摄像头中的像素。我需要他们的Uint8ClampedArray格式。到目前为止我是这样做的

代码语言:javascript
复制
this.imageCapture.grabFrame()
        .then(imageBitmap => {
            this.context2d.drawImage(imageBitmap, 0, 0,imageBitmap.width, imageBitmap.height);
        })

然后我得到像素,然后用

代码语言:javascript
复制
this.context2d.getImageData(0,0,this._videoCanvas.width,this._videoCanvas.height);

然后我格式化imageData

我在想,也许有办法不使用画布就能从ImageBitMap获取数据?但到目前为止找不到任何解决方法。有人对这个愚蠢的问题有聪明的答案吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-24 06:31:36

不,目前还没有办法。

我们正在努力在ImageBitmap接口specs issue上添加一个新的getImageData()方法,但这仍然需要实现者的兴趣,需要有人来编写规范,可能还需要大量的讨论,因为那里的一切都不是那么容易。

(ImageBitmaps可以表示许多不同的源代码,这些源代码在内部存储在不同的位置,具有不同的回读权衡)。

因此,目前唯一的解决方案确实是通过画布。

在不久的将来,可能比ImageBitmap.getImageData更接近,您将能够从MediaStream中提取VideoFrames并将其直接绘制到画布上,如this answer of mine中所示,从而避免ImageBitmap步骤,甚至可以读取每个帧的YUV平面,如this answer of mine中所示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68102995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档