matlab练习程序(Sepia Tone滤镜)

我手机上有一个软件实现了很多图像滤镜,挺有意思,我打算都尝试一下。

这个滤镜主要是实现老照片效果。

代码很短,我就不详细介绍了。

原图:

matlab练习程序(Sepia Tone滤镜)_第1张图片

处理后效果:

matlab练习程序(Sepia Tone滤镜)_第2张图片

matlab代码如下:

clear all;close all;clc;

img=imread('lena_rgb.jpg');
[h w k]=size(img);
imshow(img);

R=double(img(:,:,1));
G=double(img(:,:,2));
B=double(img(:,:,3));

rR=R*0.393+G*0.769+B*0.198;
rG=R*0.349+G*0.686+B*0.168;
rB=R*0.272+G*0.534+B*0.131;

randR=rand()*0.5+0.5;
randG=rand()*0.5+0.5;
randB=rand()*0.5+0.5;

imgn=zeros(h,w,k);
imgn(:,:,1)=randR*rR+(1-randR)*R;
imgn(:,:,2)=randG*rG+(1-randG)*G;
imgn(:,:,3)=randB*rB+(1-randB)*B;

figure;imshow(uint8(imgn));

参考:http://blog.csdn.net/jia20003/article/details/9142111

你可能感兴趣的:(matlab练习程序(Sepia Tone滤镜))