www.pudn.com > work1.rar > ari1.m
clc;
clear;
u=imread('tank_pyr.bmp');
f=imresize(u,[128,128]);
N1(:,:,1)=f;
N1(:,:,2)=f;
N1(:,:,3)=f;
f1=rgb2lab(N1);
sf=f1(:,:,1); %目标图像的l分量
subplot(3,5,1);imshow(f);title('目标灰度图')
%连续读取彩色图像,图像后缀名都是jpg
fnlist=dir('*.jpg');
fnum=size(fnlist);
for i=1:fnum
I=imread(fnlist(i).name);
I1=rgb2lab(I); %将读取的彩色图像转换到lab空间
sl=I1(:,:,1); %取源图像(读取的彩色图像)的l分量
%亮度调整,把源图像的l分量sl和目标图像的l分量sf分别求均值和方差。
mean_s=mean2(sl);
std2_s=std2(sl);
mean_g=mean2(sf);
std2_g=std2(sf);
L=std2_g/std2_s*(sl-mean_s)+mean_g; %亮度调整过后的彩色源图像的l分量
a=imhist(L); %调整过后的源图像的亮度直方图
c=imhist(sf); %目标灰度图像的亮度直方图
%灰度级压缩到128
j=1;
for ii=1:128
b(ii)=a(j)+a(j+1); %采用压缩映射
d(ii)=c(j)+c(j+1);
j=2*ii+1;
end
b=b';%彩色源图像的索引向量
d=d';%目标灰度图像索引向量
t(i)=dot(d,b)./(norm(d)*norm(b));
end
[tmin th]=max(t);
source=imread(fnlist(th).name);%最佳彩色源图像
source1=imresize(source,[128 128]);
subplot(3,6,2);imshow(source1),title('最佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source2=imread(fnlist(th).name);%第二佳
source2=imresize(source2,[200 200]);
subplot(3,6,3);imshow(source2),title('第二佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,4);imshow(source3),title('第三佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,5);imshow(source3),title('第四佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,6);imshow(source3),title('第五佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,7);imshow(source3),title('第六佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,8);imshow(source3),title('第七佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,9);imshow(source3),title('第八佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,10);imshow(source3),title('第九佳源图像');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,11);imshow(source3),title('第十佳源图');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,12);imshow(source3),title('第十一佳源图');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,13);imshow(source3),title('第十二佳源图');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,14);imshow(source3),title('第十三佳源图');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,15);imshow(source3),title('第十四佳源图');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,16);imshow(source3),title('第十五佳源图');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,17);imshow(source3),title('第十六佳源图');
t(th)=min(t)-10;
[tmin th]=max(t);
source3=imread(fnlist(th).name);%第三佳
source3=imresize(source3,[200 200]);
subplot(3,6,18);imshow(source3),title('第十七佳源图');