我一直在搜索和调试,但找不到任何适合我的东西。我正在做一个网络应用程序,在其中我尝试从黑白图像转换为彩色图像,为此我放置了一个输入,在其中加载图像并进行推理(当前使用图像到图像模型)。
事实是,我想在进入网络之前将 RGB 图像转换为 Lab 作为预处理,因为这就是我打算训练它的方式。我的代码如下:
var myInput = document.getElementById('myFileInput');
function processPic() {
if (myInput.files && myInput.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#prev_img_id').attr('src', e.target.result);
//Initiate the JavaScript Image object.
var image = new Image();
//Set the Base64 string return from FileReader as source.
image.src = e.target.result;
image.onload = function () {
//alert(this.height)
const webcamImage = tf.fromPixels(this);
const batchedImage = webcamImage.expandDims(0);
predict(batchedImage.toFloat().div(tf.scalar(127)).sub(tf.scalar(1)))
}
}
reader.readAsDataURL(myInput.files[0]);
}
}
myInput.addEventListener('change', processPic, false);
function predict(the_img) {
//get predictions
let pred = mobilenet.predict(the_img);
//retreive the highest probability class label
let cls = pred.argMax().buffer().values[0];
alert(IMAGENET_CLASSES[cls]);
}
最佳答案
我使用tensorflow.js 操作编写了一些代码来执行此操作,代码可以通过矩阵乘法进一步优化,但它会起作用,并且如果仍然相关的话,应该会让您走上正确的道路。
关于javascript - tensorflow js RGB从输入img到Lab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49939062/