matlab中读取图像编码转二进制码数量过多如何解决?

将一张图片读入matlab,变灰度,然后读取其uint编码、double后再dec2bin再reshape变成了n1个二进制码,并且后续要反变换得到图片,但是这样一来他是按图片分辨率来的,图片比较大会有几千万个二进制码,有什么方法能够减少n1个二进制码中n的个数吗,并且反变换得到的图片不要与原图差太远。
先谢过各位!!
比如读取一张19201080的图片,经过上述步骤就有一千多万个二进制码,有其他办法减少吗?不一定按我的来,只要最后变成n1个二进制码(n尽可能小)并能恢复过来看到图片就可以了,后续是用来传输的。

img