public YuvImageAssert hasHeight(int height) { isNotNull(); int actualHeight = actual.getHeight(); assertThat(actualHeight) // .overridingErrorMessage("Expected height <%s> but was <%s>.", height, actualHeight) // .isEqualTo(height); return this; }
public YuvImageAssert hasHeight(int height) { isNotNull(); int actualHeight = actual.getHeight(); assertThat(actualHeight) // .overridingErrorMessage("Expected height <%s> but was <%s>.", height, actualHeight) // .isEqualTo(height); return this; }
/** * Note: This conversion procedure is sloppy and may result in JPEG compression artifacts * * @param yuvImage - The YuvImage to convert * @return - The converted Bitmap */ public static Bitmap convertYuvImageToBitmap(@NonNull final YuvImage yuvImage) { ByteArrayOutputStream out = new ByteArrayOutputStream(); yuvImage.compressToJpeg(new Rect(0, 0, yuvImage.getWidth(), yuvImage.getHeight()), 100, out); byte[] imageBytes = out.toByteArray(); try { out.close(); } catch (IOException e) { Log.e(LOG_TAG, "Exception while closing output stream", e); } return BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length); }
private Bitmap captureBitmapFromYuvFrame(I420Frame i420Frame) { YuvImage yuvImage = i420ToYuvImage(i420Frame.yuvPlanes, i420Frame.yuvStrides, i420Frame.width, i420Frame.height); ByteArrayOutputStream stream = new ByteArrayOutputStream(); Rect rect = new Rect(0, 0, yuvImage.getWidth(), yuvImage.getHeight()); // Compress YuvImage to jpeg yuvImage.compressToJpeg(rect, 100, stream); // Convert jpeg to Bitmap byte[] imageBytes = stream.toByteArray(); Bitmap bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length); Matrix matrix = new Matrix(); // Apply any needed rotation matrix.postRotate(i420Frame.rotationDegree); bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); return bitmap; }
/** * frame call back function * @param data * @param camera */ public void onPreviewFrame(byte[] data,Camera camera){ try{ //convert YuvImage(NV21) to JPEG Image data YuvImage yuvimage=new YuvImage(data,ImageFormat.NV21,this.width,this.height,null); System.out.println("WidthandHeight"+yuvimage.getHeight()+"::"+yuvimage.getWidth()); ByteArrayOutputStream baos=new ByteArrayOutputStream(); yuvimage.compressToJpeg(new Rect(0,0,this.width,this.height),100,baos); mFrameBuffer = baos; }catch(Exception e){ Log.d("parse","errpr"); } }
null); image.compressToJpeg( new Rect(0, 0, image.getWidth(), image.getHeight()), 90, filecon); // 将NV21格式图片,以质量70压缩成Jpeg,并得到JPEG数据流 filecon.close();
new Rect(0, 0, image.getWidth(), image.getHeight()), 100, fos); Log.i(TAG, "onPictureTaken_data.length<20000: " + data.length);
new Rect(0, 0, image.getWidth(), image.getHeight()), 100, fos); Log.i(TAG, "onPictureTaken_data.length<20000: " + data.length);
ByteArrayOutputStream tmpBuffer = new ByteArrayOutputStream(); image.compressToJpeg(new Rect(0, 0, image.getWidth(), image.getHeight()), 67, tmpBuffer); this.frameBuffer = tmpBuffer.toByteArray(); this.frameID++;
Rect rect = new Rect(0, 0, yuvImage.getWidth(), yuvImage.getHeight());