从图像路径生成图像字节

时间:2016-12-07 09:06:09

标签: android image sqlite

我有一个Android应用程序我正在开发,但我已经面临将图像路径转换为字节的问题。我有一个用于匹配图像的C库,我想将图像从sqlite传递到库中,以便图像可以与其他图像匹配,这是我从sqlite接收图像路径的代码块:

private byte matdata[] = new byte[512];
for (Multimedia multdata : multimedialist) {
                                    String log = "Id: " + multdata.getID() + " ,FID: "
                                            + multdata.getFID() + " ,PATH: " + multdata.getPath();
                                    String imagePath = multdata.getPath();

                                    clibrary.GetTemplateByGen(matdata, matsize);
                                    mret = clibrary.MatchTemplate(refdata, refsize[0], matdata, matsize[0]);
                                    Log.i("MATCH" ,""+mret);
                                    Log.i("PATH" ,""+multdata.getPath());
                                }

根据上面的代码块,我需要将String imagePath的值转换为new byte[512],以便我可以clibrary.GetTemplateByGen(matdata, matsize);将其传递给clibrary.GetTemplateByGen("BYTES PASSED AFTER IMAGEPATH CONVERTED TO BYTES[512]", matsize);

我试图将路径转换为位图,然后转换为字节,如下所示:

 Bitmap bitmap = decodeImg(imagePath, 150, 150);
 final int lnth=bitmap.getByteCount();

 ByteBuffer dst= ByteBuffer.allocate(lnth);
 bitmap.copyPixelsToBuffer( dst);
 byte[] bytearray=dst.array();
}public static Bitmap decodeImg(String path, int reqWidth, int reqHeight) {
    File file = new File(path);
    if (file.exists()) {
        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(path, options);'

        options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

        options.inJustDecodeBounds = false;
        return BitmapFactory.decodeFile(path, options);
    } else
        return null;
}`

但是库仍然无法对形成的字节数组执行匹配。 任何人都可以协助,因为我花了很多时间来解决这个问题,提前谢谢

0 个答案:

没有答案