資源簡介
matlab連續計算圖像間的互信息值程序~一共計算了配準前配準后的圖像間的互信息值,一套數據圖片760張
代碼片段和文件信息
%%???設置參數??%%%%%%%%%%%%%%%%%%%%%%%%
picture_number=760;
Result3_1=zeros(1picture_number-1);
Result3_2=zeros(1picture_number-1);
%%??配準前互信息的計算??%%%%%%%%%%%%%%%
for?m=1:picture_number-1;????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
???if?m<=3
???????????????
????a=‘Mouse000‘;
????b=‘_RT8_p‘;
????c=‘a‘;
????d=‘.jpg‘;
????I1=strcat(aint2str(2*m)bint2str(2*m)cd);
????F1=imread(I1);
????I2=strcat(aint2str(2*m+2)bint2str(2*m+2)cd);
????G1=imread(I2);
????F1=rgb2gray(F1);
????G1=rgb2gray(G1);
????Pf=imhist(F1)./numel(F1);?????????
????Pg=imhist(G1)./numel(G1);
????Pfg=zeros(256256);
????for?i=1:2704
????????for?j=1:4064
????????????Pfg(F1(ij)+1G1(ij)+1)=Pfg(F1(ij)+1G1(ij)+1)+1;
????????end
????end
????W=sum(Pfg(:));
????Pfg=Pfg/W;
????N1=-sum(Pf.*log10(Pf+eps));
????N2=-sum(Pg.*log10(Pg+eps));
????Pfg=Pfg.*log10(Pfg+eps);
????N12=-sum(Pfg(:));
????Result3_1(m)=N1+N2-N12;
????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
????elseif?m==4
????????
????????
???????????????F1=imread(‘Mouse0008_RT8_p8a.jpg‘);
???????????????G1=imread(‘Mouse0010_RT8_p10a.jpg‘);
???????????????F1=rgb2gray(F1);
???????????????G1=rgb2gray(G1);
???????????????Pf=imhist(F1)./numel(F1);?????????
???????????????Pg=imhist(G1)./numel(G1);
???????????????Pfg=zeros(256256);
????????????????for?i=1:2704
???????????????????for?j=1:4064
???????????????????????Pfg(F1(ij)+1G1(ij)+1)=Pfg(F1(ij)+1G1(ij)+1)+1;
???????????????????end
???????????????end
???????????????W=sum(Pfg(:));
???????????????Pfg=Pfg/W;
???????????????N1=-sum(Pf.*log10(Pf+eps));
???????????????N2=-sum(Pg.*log10(Pg+eps));
???????????????Pfg=Pfg.*log10(Pfg+eps);
???????????????N12=-sum(Pfg(:));
???????????????Result3_1(m)=N1+N2-N12;???
???????????????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%???????????????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
????elseif?m>=5
????????
?????%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%???
?????%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
????????????if?m<=48???
?????????????????
?????????????a=‘Mouse00‘;
?????????????b=‘_RT8_p‘;
?????????????c=‘a‘;
?????????????d=‘.jpg‘;
?????????????I1=strcat(aint2str(2*m)bint2str(2*m)cd);
?????????????F1=imread(I1);
?????????????I2=strcat(aint2str(2*m+2)bint2str(2*m+2)cd);
?????????????G1=imread(I2);
?????????????F1=rgb2gray(F1);
?????????????G1=rgb2gray(G1);
?????????????Pf=imhist(F1)./numel(F1);?????????
?????????????Pg=imhist(G1)./numel(G1);
?????????????Pfg=zeros(256256);
??????????????for?i=1:
- 上一篇:1023長度的Gold碼的生成程序
- 下一篇:matlab計算圖像間的相似度程序
評論
共有 條評論