Вы разыгрываете результат всех этих операций
((result << 1) | (image[offset] & 1));
до (byte)
и присвоение его byte[]
.
Вы можете объявить новую байтовую переменную, выполнить какие-либо манипуляции с этой переменной и затем сделать
result[i] = myNewByteVariable;