Android / Chaquopy環境でBitmapファイルをJavaからPythonに渡す際に、効率が良くなる方法を探しています。
現在は以下の流れで受け渡しを行っています。
Java側でBitmapをPNGに圧縮し、ByteArrayでPythonに渡す。
Python側では受け取ったデータをOpenCvで読み込むためにndarrayに変換する。
https://stackoverflow.com/questions/4989182/converting-java-bitmap-to-byte-array
こちらのサイトにはBitmapをPNG圧縮せずにByteArrayに変換する方法がたくさん挙げられていますが、この場合Python側で受け取ったByteArrayはどの様に処理すれば良いのでしょうか。
よろしくお願いいたします。
Java
1ByteArrayOutputStream stream = new ByteArrayOutputStream(); 2bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 3byte[] byteArray = stream.toByteArray();
Python
1np_data = np.frombuffer(byteA,np.uint8) 2img = cv2.imdecode(np_data,cv2.IMREAD_UNCHANGED)
あなたの回答
tips
プレビュー