Android(Kotlin)上で、RGBAフォーマットのbitmapをbytearrayに変換した後、PythonのOpenCVで画像解析に使いたいのですが、変換方法によってエラーがでます。
PNGに変換(Java)
1ByteArrayOutputStream stream = new ByteArrayOutputStream(); 2bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 3byte[] byteArray = stream.toByteArray();
こちらの方法だと上手くいくのですが、
https://stackoverflow.com/questions/4989182/converting-java-bitmap-to-byte-array
こちらのサイトに載っている方法だと,どれを試しても
"OpenCV(4.5.1) Error: Assertion failed (!_src.empty()) in cvtColor,"とエラーが表示されます。
np_data = np.frombuffer(byteA,np.uint8)
img = cv2.imdecode(np_data,cv2.IMREAD_UNCHANGED)
で受け取っています。
どこが間違っているのかご指摘いただけないでしょうか。
よろしくお願いいたします
kotlin
1 val size = this.byteCount 2 3 val buffer = ByteBuffer.allocate(size) 4 val bytes = ByteArray(size) 5 6 this.copyPixelsToBuffer(buffer) 7 8 buffer.rewind() 9 buffer.get(bytes) 10 11 return bytes
あなたの回答
tips
プレビュー