MATLAB Sepia Tone滤镜

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

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

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

原图:

处理后效果:

matlab代码如下:

 1 clear all;close all;clc;
 2 
 3 img=imread('lena_rgb.jpg');
 4 [h w k]=size(img);
 5 imshow(img);
 6 
 7 R=double(img(:,:,1));
 8 G=double(img(:,:,2));
 9 B=double(img(:,:,3));
10 
11 rR=R*0.393+G*0.769+B*0.198;
12 rG=R*0.349+G*0.686+B*0.168;
13 rB=R*0.272+G*0.534+B*0.131;
14 
15 randR=rand()*0.5+0.5;
16 randG=rand()*0.5+0.5;
17 randB=rand()*0.5+0.5;
18 
19 imgn=zeros(h,w,k);
20 imgn(:,:,1)=randR*rR+(1-randR)*R;
21 imgn(:,:,2)=randG*rG+(1-randG)*G;
22 imgn(:,:,3)=randB*rB+(1-randB)*B;
23 
24 figure;imshow(uint8(imgn));
原文地址:https://www.cnblogs.com/ybqjymy/p/13645732.html