MATLAB 图片压缩一简易方法

MATLAB 图片压缩一简易方法

有时候需要上网站提交图片的时候,对图片的大小有一定要求,比如证件照之类的。我们本来之前拍过证件照,但是可能太大了网站不接受,可以参考以下 MATLAB 代码简单处理一下。笔者试过截图,嵌套截图大小是固定的。上传QQ空间也能压缩,但是之前用QQ空间感觉图片压得有点太模糊了,而且不太方便。

开始是想直接镂空处理,发现得到的图片不平滑,能明显看到很多白点,所以简单地平均处理一下。效果还不错,图片很平滑,笔者已经用过了。主要是简单,本来笔者很懒的,开始在网上找有没有比较成熟的,发现很多代码都有点复杂不想多看,感觉用来处理简单的需求未免有点杀鸡用牛刀了。

orig = imread('...\.jpg');	%jpg格式或者其他图片格式,自行传入文件绝对路径
[h,w,rgb] = size(orig);	%获取高度h和宽度w
m = 4;  %高度缩小倍数
n = 4;  %宽度缩小倍数
for i = 1:floor(h/m)
    for j = 1:floor(w/n)
        suo(i,j,:) = uint8( mean(mean(orig((i-1)*m+1:i*m,(j-1)*n+1:j*n,:),1),2) );
    end
end
imwrite(suo,'...\.jpg');

只要有能读取图片为数字数据、将数据导出为图片的功能就行,不一定非得MATLAB 。

你可能感兴趣的:(MATLAB,matlab)