如何仅通过矩阵运算将jpg文件转换为pbm文件?

How can I convert jpg file to pbm file through only matrix operation?

我试过下面的方法,但是效果不是很好

for i = 1:h 
            for j = 1:w 
                Img(1,(i-1)*aligned_w+j) = (Matrix(i,j)&1);
                %fwrite(file,1-Matrix(i,j),'ubit1');
            end
            for j = 1:align
                %fwrite(file,0,'ubit1');
                Img(1,(i-1)*aligned_w+w+j)=0;
            end
        end
        fwrite(file,Img,'ubit1');

与 imwrite(imread('.jpg','jpg'),'.pbm',[=18 相比,上述代码的结果偏离轨道=]), 谁能告诉我怎么解决。

找到解决办法了,原因是Matrix应该是whchannel矩阵,格式(i,j)应该换成(i,j, channel), 其中 channel 从 1 到 3。结果应该是 or 操作下的三个表达式。