标签: imagedata

如何在 JavaScript 中对画布图像进行灰度处理?

我在 HTML5 画布中有一个图像,大小为 28x28 像素。我使用以下代码将画布的 imageData 作为 RGBA(红色、绿色、蓝色、alpha)值的数组:

canvas = document.getElementById('canvas');
ctx = canvas.getContext("2d");
imgData = ctx.getImageData(0, 0, 28, 28);
Run Code Online (Sandbox Code Playgroud)

现在我想对图像进行灰度处理,以便获得一个包含 784 个值(28x28 像素)的数组,其中每个像素都有一个值(而不是四个)。

我发现了很多不同的灰度公式,有些是乘以 rgb 值,有些只是计算平均值 - 我真的不知道使用它们中的哪一个......

我也坚持获得 784 个值——它总是 3136(因为有 4 个通道)......

提前致谢!

html javascript canvas grayscale imagedata

4
推荐指数
2
解决办法
5278
查看次数

标签 统计

canvas ×1

grayscale ×1

html ×1

imagedata ×1

javascript ×1