JavaからPythonにBitmapを受け渡しする方法について。

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

ByteArrayOutputStream stream = new ByteArrayOutputStream();bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);byte[] byteArray = stream.toByteArray();

Python

np_data = np.frombuffer(byteA,np.uint8)img = cv2.imdecode(np_data,cv2.IMREAD_UNCHANGED)

コメントを投稿

0 コメント