从图像 url 获取 ImageData/HTMLImageElement/HTMLCanvasElement 对象
Getting ImageData/HTMLImageElement/HTMLCanvasElement object from image url
我正在尝试开发一个使用 tensorflow 和 knn-classifier 对图像进行分类的程序。但是,为了训练程序,我需要获取 ImageData、HTMLImageElement 或 HTMLCanvasElement 形式的图像。
因此,我正在寻找一种方法来简单地从图像 url(例如“https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/1200px-Image_created_with_a_mobile_phone.png")
可能值得一提的是,我正在使用 nodejs 进行开发。我在下面附上了一些代码来帮助解释我想要实现的目标。
const tf = require("@tensorflow/tfjs");
const mobilenetModule = require("@tensorflow-models/mobilenet");
const knnClassifier = require("@tensorflow-models/knn-classifier");
const classifer = knnClassifier.create();
async function start() {
const mobilenet = await mobilenetModule.load();
const pic0 = // Get image from "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/1200px-Image_created_with_a_mobile_phone.png";
const img0 = tf.browser.fromPixels(pic0);
const logits0 = mobilenet.infer(img0, true);
classifier.addExample(logits0, 0);
const pic1 = // Get image from "https://www.pixsy.com/wp-content/uploads/2021/04/ben-sweet-2LowviVHZ-E-unsplash-1.jpeg";
const img1 = tf.browser.fromPixels(pic1);
const logits1 = mobilenet.infer(img1, true);
classifier.addExample(logits1, 0);
const check = await axios.get(
"https://cryptotvnetwork.com/wp-content/uploads/2021/04/4ee1ad2ffbb00866fb7c55c61786e95d.jpg",
{ responseType: "arrayBuffer", }
);
const x = tf.browser.fromPixels(check);
const xlogits = mobilenet.infer(x, true);
const p = classifier.predictClass(xlogits);
console.log(p);
}
start();
如果这是一个愚蠢或重复的问题,我提前表示歉意,但我在搜索期间未能找到相关内容。
加载图像后必须创建张量。
async function getImage() {
var pic0 = new Image();
pic0.src = 'https://www.google.com/favicon.ico';
pic0.onload = () => {
var img0 = tf.browser.fromPixels(pic0);
return img0;
}
}
我正在尝试开发一个使用 tensorflow 和 knn-classifier 对图像进行分类的程序。但是,为了训练程序,我需要获取 ImageData、HTMLImageElement 或 HTMLCanvasElement 形式的图像。
因此,我正在寻找一种方法来简单地从图像 url(例如“https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/1200px-Image_created_with_a_mobile_phone.png")
可能值得一提的是,我正在使用 nodejs 进行开发。我在下面附上了一些代码来帮助解释我想要实现的目标。
const tf = require("@tensorflow/tfjs");
const mobilenetModule = require("@tensorflow-models/mobilenet");
const knnClassifier = require("@tensorflow-models/knn-classifier");
const classifer = knnClassifier.create();
async function start() {
const mobilenet = await mobilenetModule.load();
const pic0 = // Get image from "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/1200px-Image_created_with_a_mobile_phone.png";
const img0 = tf.browser.fromPixels(pic0);
const logits0 = mobilenet.infer(img0, true);
classifier.addExample(logits0, 0);
const pic1 = // Get image from "https://www.pixsy.com/wp-content/uploads/2021/04/ben-sweet-2LowviVHZ-E-unsplash-1.jpeg";
const img1 = tf.browser.fromPixels(pic1);
const logits1 = mobilenet.infer(img1, true);
classifier.addExample(logits1, 0);
const check = await axios.get(
"https://cryptotvnetwork.com/wp-content/uploads/2021/04/4ee1ad2ffbb00866fb7c55c61786e95d.jpg",
{ responseType: "arrayBuffer", }
);
const x = tf.browser.fromPixels(check);
const xlogits = mobilenet.infer(x, true);
const p = classifier.predictClass(xlogits);
console.log(p);
}
start();
如果这是一个愚蠢或重复的问题,我提前表示歉意,但我在搜索期间未能找到相关内容。
加载图像后必须创建张量。
async function getImage() {
var pic0 = new Image();
pic0.src = 'https://www.google.com/favicon.ico';
pic0.onload = () => {
var img0 = tf.browser.fromPixels(pic0);
return img0;
}
}