1

Android 4.0.3でJavaCVを使用すると、エラーが発生します

OpenCV Error: Assertion failed (ssize.area() > 0) in unknown function, file C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\imgwarp.cpp, line 1432

機能を検索しています...

Exception in thread "main" java.lang.RuntimeException: C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\imgwarp.cpp:1432: error: (-215) ssize.area() > 0

com.googlecode.javacv.cpp.opencv_stitching$Stitcher.stitch(Native Method)

Lesson3_Stitch.main(Lesson3_Stitch.java:17)

誰でもそれを修正する方法を教えてもらえますか? ありがとうございました。

これは私のコードです:

public static void main(String[] args) {

        Stitcher stitcher = Stitcher.createDefault(true);
        MatVector images = new MatVector(2);
        images.put(0, cvLoadImage("sample1.png"));
        images.put(1, cvLoadImage("sample2.png"));

        IplImage result = new IplImage();

        int status = stitcher.stitch(images, images);

        if (status != Stitcher.OK) {

            cvSaveImage("result.png", result);
            System.out.println("cant stitch image" + status);

        }

        result = cvLoadImage("sample1.png");

        final CanvasFrame canvas = new CanvasFrame("My Image", 1);

        // Request closing of the application when the image window is closed.
        canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

        // Show image on window.
        // canvas.showImage(result);

    }

    private static void cvSaveImage(String string, IplImage result) {
        // TODO Auto-generated method stub

    }

    private static IplImage cvLoadImage(String string) {
        // TODO Auto-generated method stub
        return null;
    }
4

2 に答える 2

0

Android 用の OpenCV をインポートする必要がありますが、null を返す cvLoadImage のカスタム関数を使用しているため、コードが機能しません。これは機能しません。

CV.loadImage またはいくつかのバリエーションを使用してみてください。現在、テスト用の OpenCV インストールはありません。

于 2013-06-18T04:32:23.470 に答える
0

次の 2 点をお勧めします。

まず、正しいインポートがあることを確認します。

import com.googlecode.javacv.cpp.opencv_core.IplImage;

import com.googlecode.javacv.cpp.opencv_core.MatVector;

import com.googlecode.javacv.cpp.opencv_stitching.Stitcher;

import static com.googlecode.javacv.cpp.opencv_highgui.*;

(申し訳ありませんが、なぜ行間にスペースがないと入れられないのかわかりません)。

次に、画像の完全なパスを入力します。画像が見つからなかったとき、それは私に起こりました。

images.put(0,cvLoadImage("/storage/sdcard0/Download/testpicture.JPG"));
于 2013-11-21T13:29:55.500 に答える