0

I'm using a javascript based opencv (See: https://github.com/mtschirs/js-objectdetect) and it works perfectly with live video using canvas and html5.

When I try to detect using a dynamically saved image it fails, but works if I hard code an image.

The following (static image):

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

works fine, but using

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

or using an ajax call which saves the image onto the server and returns the url path

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

both fail. They both display an appropriate image.

the detection function is

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

Executes, but returns array length 0 unless I use the static image

4

1 に答える 1

0

私の同僚の一人にそれを理解してもらいました。画像が計算されるまでに読み込まれませんでした。

jQuery.ajaxSetup({
  async : false 
});

私はもともと $(element).load(function() { .. }) を試していましたが、うまくいかないようでしたが、ajax のタイミングの問題だったようです。

于 2013-08-15T13:35:37.613 に答える