在照相机的回调模块照片的数据格式为 byte[] 类型,因为项目需要,摄像头的分辨率较大,为 1920 * 1080。导致在识别过程中速度较慢,请问有什么办法能缩小下 byte[] 类型图片的尺寸,另外,sdk 检测使用的图片数据类型也是 byte[]

解决方案 »

  1.   

    项目需要,参数只能 1920 * 1080,现在的问题就是如何把 byte[] 类型的原图缩小处理后再转为 byte[] 类型让sdk识别
      

  2.   

    如果要求原图分辨率不能变,   
    你可以把图片缩小了再进行识别啊, 最好是先裁剪需要识别的区域.
    先把大图缩小, 再得到小图的byte[], 再进行识别.
      

  3.   

      先转为 Bitmap,压缩,在将压缩后 Bitmap转为  byte[]
    Bitmap b = BitmapFactory.decodeByteArray(rawImage, 0, rawImage.length, options);//rawImage是字节数据,将其解析成位图
                Matrix matrix = new Matrix();
                matrix.setScale(0.1f, 0.1f);
                Bitmap bm = Bitmap.createBitmap(b, 0, 0, b.getWidth(),
                        b.getHeight(), matrix, true);    /**
         * 把Bitmap转Byte
         */
        public static byte[] Bitmap2Bytes(Bitmap bm) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
            return baos.toByteArray();
        }