问题描述
我正在尝试比较图像列表,并且可以使用 openCV.js 模板匹配来进行比较,它可以工作,但图像来自 URL,是否可以完全绕过整个画布构建部分?
这是JS
function createMainImage() {
var canv = document.getElementById('main');
let context = canv.getContext('2d');
var img = new Image();
img.crossOrigin = "Anonymous";
img.onload = function () {
canv.width = img.width;
canv.height = img.height;
context.drawImage(img,img.width,img.height);
};
img.src = 'https://xxxx/000000.jpg';
}
function createTemplateImage() {
var canv = document.getElementById('template');
let context = canv.getContext('2d');
var img = new Image();
img.crossOrigin = "Anonymous";
img.onload = function () {
canv.width = img.width;
canv.height = img.height;
context.drawImage(img,img.height);
};
img.src = 'https://xxxx/000000.jpg'; // whole bunch from array
}
function openCV() {
createMainImage();
let src = cv.imread('main');
createTemplateImage();
let templ = cv.imread('template');
let dst = new cv.Mat();
let mask = new cv.Mat();
cv.matchTemplate(src,templ,dst,cv.TM_CCOEFF_norMED,mask);
let result = cv.minMaxLoc(dst,mask);
console.log(result); //works
}
这是 HTML
<canvas id='main' hidden></canvas>
<canvas id='template' hidden></canvas>
我想做的是将模板图像与主图像进行比较,我在一个数组中有完整的模板图像列表,我只想看看主图像是否与模板图像相同,用这个我想使用 for 循环来更新 templ.src 基本上用 URL 替换 cv.imread 但如果我是正确的,这似乎无法使用 opencv.js。我可以以某种方式将图像转换为 opencv.js 喜欢的格式,而不是每次构建画布吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)