Я создаю простой конвертер изображений YUV в JPEG. Для этого мне нужно получить размер изображения YUV из файла. Мне сложно провести тестирование. но мне нужно получить эти данные грамматически. Любая помощь будет оценена.Как получить ширину и высоту из файла изображения YUV в Android?
private void covertToYuvImage() {
ByteArrayOutputStream baoStream = new ByteArrayOutputStream();
String yuvImagePath = selectedFolder+yuvImageList.get(0); //Path to YUV image
File file = new File(yuvImagePath);
byte[] bFile = new byte[(int) file.length()];
try{
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(bFile);
fileInputStream.close();
}
catch (Exception e){
e.printStackTrace();
}
YuvImage yuvImage = new YuvImage(bFile, ImageFormat.NV21,2048,1536,null);
yuvImage.compressToJpeg(new Rect(0, 0, 2048, 1536), 100, baoStream);
File imgFile = new File(selectedFolder, "NewImage.jpeg");
if (!imgFile.exists()) {
FileOutputStream img;
try {
img = new FileOutputStream(imgFile);
img.write(baoStream.toByteArray());
img.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Но выход был ужасным. См. Прикрепленное изображение.
Как я могу решить эту проблему?
I гавань»пробовал, но, кажется, этот ответ поможет вам, если вы выполняете операцию на Bitmap вместо того, чтобы выбрать изображение из файла. http://stackoverflow.com/questions/5960247/convert-bitmap-array-to-yuv-ycbcr-nv21 – VVB