3

画像を読み込もうとしています:

    File root = Environment.getExternalStorageDirectory();
    File file = new File(root, "image.gif");
    Mat m = Highgui.imread(file.getAbsolutePath());
    if(file.exists()){
        showToast("Height: " + m.height() + " Width: " + m.width());
    }

ただし、サイズは 0 (高さ/幅) です。

4

2 に答える 2

5

ファイルが存在するという事実は、OpenCV がその内容を読み取ることができたことを意味しません。

代わりにすべきことは次のとおりです。

Mat m = Highgui.imread(file.getAbsolutePath());
if (img.data)
{
     showToast("Height: " + m.height() + " Width: " + m.width());
}
else
{
     // print error and abort execution
}

ドキュメントの最後にimread()、次のような大きな注記があります。

この関数は、ファイルの拡張子ではなく、コンテンツによって画像の種類を判断します。

続行する前にドキュメントを確認する必要があります。より複雑なものに挑戦する前に、ディスクから画像を読み込んで表示する単純な OpenCV アプリケーションを作成できることを確認してください。

于 2012-05-25T16:26:50.650 に答える
-2

使ってみてください

IplImage orgImage= cvLoadImage(fileName); 

JavaCV ラッパーに取り組んでいます。しかし、純粋な OpenCV では動作しません。

于 2012-05-25T10:46:49.847 に答える