2

私にとってJavaCVを学ぶ最初の日です。これは、セットアップが正しく行われたことを確認するためだけに使用する最初のテスト例です。残念ながら、サンプルを実行することはできず、コードとすべての依存関係をほとんど理解していないため、不足しているものを見つけるのは非常に困難です。以下に、プロジェクトのセットアップと発生したエラーを投稿します。

また、私が使用する例は次のものです

コード

import static com.googlecode.javacv.cpp.opencv_core.cvFlip;
import static com.googlecode.javacv.cpp.opencv_highgui.cvSaveImage;
import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.VideoInputFrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.IplImage;

public class GrabberShow implements Runnable
{
    //final int INTERVAL=1000;///you may use interval IplImage image;
    CanvasFrame canvas = new CanvasFrame("Web Cam");
    public GrabberShow()
    {
        canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
    }
    @Override
    public void run()
    {
        FrameGrabber grabber = new VideoInputFrameGrabber(0); // 1 for next camera
        int i = 0;
        try
        {
            grabber.start();
            IplImage img;
            while (true)
            {
                img = grabber.grab();
                if (img != null)
                {
                    cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
                    cvSaveImage((i++) + "-aa.jpg", img); // show image on window
                    canvas.showImage(img);
                }
                //Thread.sleep(INTERVAL);
            }
        }
        catch (Exception e)
        {

        }
    }
}

私は使用Eclipseしていますが、すべてのインポートがあるようです。

私のプロジェクトの印刷画面は次のようになりEclipseます。

ここに画像の説明を入力

というわけでセットアップは以上です。私はこれから何かを得ようとします。プロジェクトを右クリックして試してみるとRunJava Application次のウィンドウが表示されます。

ここに画像の説明を入力

ウィンドウの上部に私の選択が表示されます。エラー ウィンドウが表示A Java Exception has occurredされます。コンソール ウィンドウに表示されるエラーの一部を以下に示します。

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Xman\AppData\Local\Temp\javacpp4929678155627\jniopencv_core.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:422)
at com.googlecode.javacpp.Loader.load(Loader.java:372)`

エラーを読みました。問題はライブラリの欠落が原因のようですが、よくわかりません。また、指示に従いました(実際にはそれほど多くはありませんでした)。サンプルコードの下のコメントから、それが実際に機能すること。したがって、問題はここのどこかにあると思います-私のプロジェクト、コード、セットアップの中にありますが、不足しているものや間違っているものを見つけることができません。

4

2 に答える 2

1

このエラーは、opencvdllがシステムパスに設定されていない場合に発生します。C:\ディレクトリにopencvフォルダーを抽出した場合は、パスを次のように設定します

32ビットの場合:

C:\opencv\build\x86\vc10\bin;C:\opencv\build\common\tbb\ia32\vc10\

64ビットの場合:

C:\opencv\build\x64\vc10\bin;C:\opencv\build\common\tbb\intel64\vc10\

別の場所で抽出した場合は、それに応じてパスを変更してください。

パスを設定するには、[コントロールパネル]>[システムセキュリティ]>[システム]>[システムの詳細設定]>[環境変数]に移動します。[システム変数]でパスを選択し、[編集]をクリックして上の場所に挿入し、ウィンドウを再起動します。

詳細な手順については、http://opencvlover.blogspot.in/2012/04/javacv-setup-with-eclipse-on-windows-7.htmlをご覧ください。

于 2012-12-07T10:57:37.840 に答える
1

ダウンロードとインストール:Microsoft Visual C ++再頒布可能パッケージ(32ビット): vcredist_x86.exe

于 2012-12-07T10:57:49.317 に答える