1

drawableフォルダから画像を読み込んでみました。私はEclipse ideを使用しています。以下のコードを実行しましたが、画像が読み込まれませんでした。コードはここから取得されます

Mat image =  new Mat(new Size(500,500 ),CvType.CV_8U);// Change CvType as you need.
            image = Highgui.imread("icon.png");
            if(image.empty()) {
                Log.i(TAG, "Empty image!");
            }

私のドローアブルフォルダーのスクリーンショットは次のとおりです。 ここに画像の説明を入力

この画像を読み込むにはどうすればよいですか?

4

3 に答える 3

5

あなたは単にこれを行うことができます

Mat m = Utils.loadResource(MainActivity.this, R.drawable.img, Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE);
Bitmap bm = Bitmap.createBitmap(m.cols(), m.rows(),Bitmap.Config.ARGB_8888);
Utils.matToBitmap(m, bm);
ImageView iv = (ImageView) findViewById(R.id.imageView1);
iv.setImageBitmap(bm);
于 2015-04-28T16:00:45.043 に答える
1

この作品の例を見つけました。

InputStream inpT = getResources().openRawResource(R.drawable.imgt);
mTemp = readInputStreamIntoMat(inpT);

private static Mat readInputStreamIntoMat(InputStream inputStream) throws IOException {
    // Read into byte-array
    byte[] temporaryImageInMemory = readStream(inputStream);

    // Decode into mat. Use any IMREAD_ option that describes your image appropriately
    Mat outputImage = Highgui.imdecode(new MatOfByte(temporaryImageInMemory), Highgui.IMREAD_GRAYSCALE);

    return outputImage;
}

private static byte[] readStream(InputStream stream) throws IOException {
    // Copy content of the image to byte-array
    ByteArrayOutputStream buffer = new ByteArrayOutputStream();
    int nRead;
    byte[] data = new byte[16384];

    while ((nRead = stream.read(data, 0, data.length)) != -1) {
        buffer.write(data, 0, nRead);
    }

    buffer.flush();
    byte[] temporaryImageInMemory = buffer.toByteArray();
    buffer.close();
    stream.close();
    return temporaryImageInMemory;
}
于 2015-03-24T16:33:46.250 に答える
0

代わりに行う必要があるのは次のとおりです。

  Mat m = Highgui.imread(file.getAbsolutePath());
于 2015-03-24T12:22:45.737 に答える