Преобразование изображения YBR_Full в RGB в java

Я мог бы получить массив байтов, содержащий значения YUV, и выполнить тот же метод в (Путаница в преобразовании YUV NV21 в RGB), чтобы получить массив значений int, представляющих RGB, а затем я попытался преобразовать этот массив в ByteBuffer, чтобы я мог просмотреть его в JLabel. Но что я вижу, это отдельные вертикальные столбцы красного, зеленого и синего цветов? Что не так в моей схеме? Пожалуйста помоги.


person java_87    schedule 24.04.2013    source источник


Ответы (1)


Вам нужно создать изображение и установить его значение с помощью вашего массива, а затем отобразить изображение в Jlabel

Нравится :

    byte[] imageInByte;////////////this byte array contain your RGB
    InputStream in = new ByteArrayInputStream(imageInByte);
    BufferedImage bImageFromConvert = ImageIO.read(in);

тогда вы можете отобразить bImageFromConvert в JLabel

Нравится :

 JLabel jLabel = new JLabel(new ImageIcon(bImageFromConvert ));
person Alya'a Gamal    schedule 24.04.2013
comment
прежде чем я отредактирую свой ответ, x и y из цикла for в массиве, который содержит значение RGB - person Alya'a Gamal; 24.04.2013
comment
если я хочу записать его в файл следующим образом: попробуйте {File outputfile = new File (saved.jpg); ImageIO.write (bImageFromConvert, jpg, выходной файл); } catch (исключение e) {e.printStackTrace (); } У меня исключение java.lang.IllegalArgumentException: im == null! - person java_87; 24.04.2013
comment
на самом деле я не знаю, у меня нет переменной в этом имени - person java_87; 24.04.2013
comment
Конечно, у вас есть один, но вы не можете его найти, сначала проверьте эту переменную, в своем исключении вы можете найти, в какой строке есть проблема, или вы можете отправить мне весь код - person Alya'a Gamal; 24.04.2013
comment
Я обнаружил, что bImageFromConvert имеет значение null, что вызывает появление этого исключения, когда я пытаюсь записать в файл - person java_87; 24.04.2013
comment
вы должны поместить свой байтовый массив в bImageFromConvert, прежде чем писать его, поэтому, если изображение имеет значение null, ваш массив байтов может быть пустым, проверьте его еще раз - person Alya'a Gamal; 24.04.2013