如何将变量从2个不同的函数传递给一个函数?

我正在使用JavaScript将.JSON文件中的图像描述符与直播视频中的描述符进行匹配。问题是我需要的变量位于2个单独的函数中,因此我不能在其中使用“返回”。

第1部分:

var request = new XMLHttpRequest();
var path = '/path/to/my.json';

const getdata = function () {
    var users = [];

    users = JSON.parse(this.response);      

    for (let i = 0; i<3; i++){
        var newObj = new cv.Mat(500,32,cv.CV_8U);
        for (let j = 0; j < 500; j++) {
            for (let k = 0; k < 32; k++) {
                newObj.data[32*j+k] = users[i].descriptors[j][k];
            }
        }
        //I need to extract newObj here
    }
}    
request.onload = getdata;
request.open('GET',path,true);
request.send();

第2部分:

function myorb (){
    context2d.drawImage(video,canvas2d.width,canvas2d.height);
    src.data.set(context2d.getImageData(0,canvas2d.height).data);
    cv.cvtColor(src,img_color,cv.COLOR_RGBA2RGB,0);

    var orb = new cv.ORB(1000);
    orb.detect(img_color,kp,noArray);
    orb.compute(img_color,des);

    cv.drawKeypoints(img_color,img2,[0,255,255]);
    cv.imshow("outputCanvas2d",img2);

    const FPS = 30;
    let begin = Date.now()
    let delay = 1000/FPS - (Date.now() - begin);
    setTimeout(myorb,delay); 

}
setTimeout(myorb,0);

我想在第1部分中使用“ newObj”,在第2部分中使用“ des”:

function matching() {
    var bf = new cv.Bfmatcher(cv.NORM_HAMMING);
    matches = bf.match(des,newObj);
}

但是我找不到将它们传递给该“匹配”功能的方法。有人可以帮我吗?还是关于如何重组所有这些的更好的主意?

非常感谢您。

w12240cn 回答:如何将变量从2个不同的函数传递给一个函数?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3164950.html

大家都在问