hHup, ааа, теперь понятно, вы теоретик и изобретаете велосипед. Тогда используйте ImageIO чтобы считать файл в BufferedImage, получайте из него методом getRGB массив int и выполняйте необходимые вам преобразования.
hHup, если вы портируете в java код из другого языка, то придётся ориентироваться на требования этого кода. Если он ожидает трёхмерного байтового массива, преобразовывать изображение в трёхмерный байтовый массив. Если чего-то другого, преобразовывать во что-то другое. Хотя быстродействие таких поделок обычно оказывается крайне печальным.
l1l1l1, он не сможет унести готовый код и применить его на новом рабочем месте с незначительными доработками. Придётся переписывать полностью на другом языке.
Занимательный факт: ответ на ваш вопрос одновременно является ответом на вопрос "Где самая высокая конкуренция и как следствие самые низкие цены при самых высоких требованиях?"