这里 tf.browser.fromPixels 返回一个只有零的张量。 image.data 包含预期值(不仅仅是零)。 tfjs 使用脚本标签加载。 tfjs 1.0.0 但更改版本没有帮助。
有什么问题吗?可能是一些愚蠢的事情。我是 Tensorflow.js 的新手...
<canvas id="canvas" width="100" height="100" style="border:1px solid #FF0000;"></canvas>
....
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var image = ctx.getImageData(0, 0, canvas.height, canvas.width);
var x = tf.browser.fromPixels(image);
创建后,画布的所有像素值都设置为 0。
var canvas = document.getElementById('canvas');
canvas
是一个只有 0 个值的 imageData。毫不奇怪,创建的张量的值为 0,因为用于创建它的画布除了 0 值之外没有任何图像数据。
CSS 样式不会改变canvas 的底层值。因此,即使有边框颜色设置为红色,它也不会反映在 imageData 上。
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var image = ctx.getImageData(0, 0, canvas.height, canvas.width);
var x = tf.browser.fromPixels(image);
console.log(x.shape) // height, width, 3
<html>
<head>
<!-- Load TensorFlow.js -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected] /cdn-cgi/l/email-protection"> </script>
</head>
<body>
<canvas id="canvas" width="100" height="100" style="border:1px solid #FF0000;"></canvas>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)