0

我正在使用基于 javascript 的 opencv(参见:https ://github.com/mtschirs/js-objectdetect ),它与使用 canvas 和 html5 的实时视频完美配合。

当我尝试使用动态保存的图像进行检测时,它会失败,但如果我对图像进行硬编码,它就可以工作。

以下(静态图片):

<img id="image" src="download.png"></img>

工作正常,但使用

var dataURL = $("#canvas")[0].toDataURL("image/png");
$("#image").attr('src', dataURL);

或使用将图像保存到服务器并返回 url 路径的 ajax 调用

$.ajax({
    type: "POST",
    url: "saveImage.php",
    data: { 
        img: dataURL
    }
}).done(function(o) {
    $("#image").attr('src', o);
});

都失败了。它们都显示适当的图像。

检测函数为

    $("#image").objectdetect(..., function(faces) { ... }

执行,但返回数组长度 0 除非我使用静态图像

4

1 回答 1

0

让我的一位同事弄清楚了。图像在计算时未加载。

jQuery.ajaxSetup({
  async : false 
});

我最初尝试过 $(element).load(function() { .. }) 似乎没有用,但它似乎是 ajax 的时间问题。

于 2013-08-15T13:35:37.613 回答