Sedikit Info Seputar
Convert IplImage to byte array or IplImage to Bitmap in JavaCV - Android Java
Terbaru 2017
- Hay gaes kali ini team Belajar Modif Game Android, kali ini akan membahas artikel dengan judul Convert IplImage to byte array or IplImage to Bitmap in JavaCV - Android Java, kami selaku Team Belajar Modif Game Android telah mempersiapkan artikel ini untuk sobat sobat yang menyukai Belajar Modif Game Android. semoga isi postingan tentang yang saya posting kali ini dapat dipahami dengan mudah serta memberi manfa'at bagi kalian semua, walaupun tidak sempurna setidaknya artikel kami memberi sedikit informasi kepada kalian semua. ok langsung simak aja sob
Judul:
Berbagi Info Seputar
Convert IplImage to byte array or IplImage to Bitmap in JavaCV - Android Java
Terbaru
link: Convert IplImage to byte array or IplImage to Bitmap in JavaCV - Android Java
Berbagi Convert IplImage to byte array or IplImage to Bitmap in JavaCV - Android Java Terbaru dan Terlengkap 2017
Now iam gonna share a wonderful and efficient way on "How to convert IplImage to byte array in JavaCV" with pure java code.
How to convert IplImage to Android Bitmap
public static Bitmap IplImageToBitmap(IplImage src) {
Bitmap bm=null;
int width = src.width();
int height = src.height();
// Unfortunately cvCvtColor will not let us convert in place, so we need to create a new IplImage with matching dimensions.
IplImage frame2 = IplImage.create(width, height, opencv_core.IPL_DEPTH_8U, 4);
opencv_imgproc.cvCvtColor(src, frame2, opencv_imgproc.CV_BGR2RGBA);
// Now we make an Android Bitmap with matching size ... Nb. at this point we functionally have 3 buffers == image size. Watch your memory usage!
bm = Bitmap.createBitmap(frame2.width(), frame2.height(), Bitmap.Config.ARGB_8888);
bm.copyPixelsFromBuffer(frame2.getByteBuffer());
//src.release();
frame2.release();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
return bm;
}
How to convert IplImage to byte[]
public static byte[] IplImageToByteArray(IplImage src) {
Bitmap bm=null;
int width = src.width();
int height = src.height();
// Unfortunately cvCvtColor will not let us convert in place, so we need to create a new IplImage with matching dimensions.
IplImage frame2 = IplImage.create(width, height, opencv_core.IPL_DEPTH_8U, 4);
opencv_imgproc.cvCvtColor(src, frame2, opencv_imgproc.CV_BGR2RGBA);
// Now we make an Android Bitmap with matching size ... Nb. at this point we functionally have 3 buffers == image size. Watch your memory usage!
bm = Bitmap.createBitmap(frame2.width(), frame2.height(), Bitmap.Config.ARGB_8888);
bm.copyPixelsFromBuffer(frame2.getByteBuffer());
//src.release();
frame2.release();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, stream);
return stream.toByteArray();
}
So hope you guys got this helper methods so useful for your JavaCV projects.
And don't forget to use the comment box below.
