2017-09-05 19 views
1

のプロパティ「長さ」を読み取ることができません私は最近opencvをインストールしてnpm installを実行します。OpenCVの - 例外TypeError:未定義

はそれをやった後、私はそれが動作するかどうかを確認するためにいくつかのサンプルコードを与えられたが、それは動作しません、と私はその理由を知りません。たぶん私はそれを誤ってインストールした、私はこれの初心者です。ここでは、コードは次のようになります。

cv.readImage("./examples/files/mona.png", function(err, im){ 
    im.detectObject(cv.FACE_CASCADE, {}, function(err, faces){ 
    for (var i=0;i<faces.length; i++){ 
     var x = faces[i] 
     im.ellipse(x.x + x.width/2, x.y + x.height/2, x.width/2, x.height/2); 
    } 
    im.save('./out.jpg'); 
    }); 
}) 
+0

私はあなたがコールバックから 'err'オブジェクトにエラーがある可能性がありますので、あなたの' faces'オブジェクトは(#noSh!tの)定義されていないと信じています。コンソールに 'err'を印字して、何が得られたのかを確認してください。 console.error(err); – Philippe

+0

あなたのファイルパスが '。/ examples/files/mona.png'ではないと仮定します。これはコード付きのパスの例です。ディレクトリ構造ごとに修正してください。 'console.log(err);'を試してみてください。 –

+0

'length'が使用されている唯一の場所はループの中にありますので、' faces'はあなたが思う通りではありません。 – adeneo

答えて

0

あなたが「NPMインストールOpenCVの--save」によって、それをインストールする必要がありますが、何の依存関係の問題が存在しないので、あなたが右のそれをインストールして。 console.log(faces)を実行してみてください。なぜなら、長さが定義されていないため、結果としてnullが返されるからです。 また、 "./examples/files/mona.png"という名前のパスにあるイメージが存在することを確認してください。

+0

だから、 'npmはopencv --sav'をインストールしようとしました。私は2つのエラーを取得します:node-pre-gyp ERR!ダウンロードしようとしました(403)とnode-pre-gyp ERR!あらかじめ作成されたバイナリは見つかりません。しかし、 'build-from-source'を使うとうまくいきました。助けていただければ幸いです。 @ Asim Raja – Danny

+0

私はncをインストールしようとしましたopencv - それは私の仕事、正確に何をしたいですか?あなたはあなたのパス "./examples/files/mona.png"を聞いたことがありますか? 「mona.png」は存在しますか? – Asim

+0

コードに 'var faces'を追加しました。 'console.log(faces)出力が未定義で' 'console.log(err)is null' – Danny

関連する問題