如何仅通过矩阵运算将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 操作下的三个表达式。
我试过下面的方法,但是效果不是很好
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 操作下的三个表达式。