我对使用 Brain.js 感兴趣:https://github.com/harthur/brain
提供了一个演示,展示了如何训练神经网络来识别颜色对比度,但我如何设置它,以便它可以从输入中学习哪种颜色文本(白色或黑色)在不同背景上看起来更好图片?
这是该演示:http://harthur.github.io/brain/
我有一组背景图像想要用来训练。然后我想保存该训练数据,并能够将其添加到使用这些背景图像的网站,这样就能够确定在它们之上使用哪种颜色文本。
最佳答案
看起来好像就这么简单:
net.train([{input: { r: 0.03, g: 0.7, b: 0.5 }, output: { black: 1 }},
{input: { r: 0.16, g: 0.09, b: 0.2 }, output: { white: 1 }},
{input: { r: 0.5, g: 0.5, b: 1.0 }, output: { white: 1 }}]);
因此,要从输入执行此操作,只需更改值,例如:
var input = {};
input.r = hexToRgb($('#rgbTextField').r;
input.g = hexToRgb($('#rgbTextField').g;
input.b = hexToRgb($('#rgbTextField').b;
var output = {};
output.black = 1;
// finally...
net.train([ input, output ]);
var hexToRgb = function(hex) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
} : null;
}
或者类似的东西。我还没有测试过这段代码。
关于javascript - 使用brain.js(js中的神经网络)来学习元素背景图像的对比度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23938108/