⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kblmi.m

📁 图像对齐(inage registration)工具箱
💻 M
字号:
function b=kblmi(a,r)
% Computing complex moment invariants (up to r-th order, r < 8)
% for f*h, h(x,y) symmetric with respect to both axes (AS blur)
% 
% b = kblmi(a,r)
%
% a(n,n) - image matrix
% r - r-th order

vel=size(a);
mc=kmr(a,r);   %spocte jednotlive komplexni momenty
% mc is a matrix of complex moments up to the p-th order of the image img
% \c{pq} = mc(p+1,q+1)

mc00 =mc(1,1);
mc002=mc00*mc00;
mc003=mc002*mc00;

mc10=mc(2,1);
mc01=mc(1,2);

b1=[mc10 mc01];

pq=1;

b1=[mc10 mc01]/((vel(1)/2)^(pq));



% 1 2 
b2=[];
b3=[];
b4=[];
b5=[];
b6=[];

if r>2
	mc11=mc(2,2);
	mc21=mc(3,2);
	mc12=mc(2,3);
	mc30=mc(4,1);
	mc03=mc(1,4);
	mc20=mc(3,1);
	mc02=mc(1,3);

	mc312=mc12 -   (2*mc01*mc11+mc10*mc02)/mc00;

	mc321=mc21 -   (2*mc10*mc11+mc01*mc20)/mc00;

	mc330=mc30 - 3*(mc10*mc20)/mc00;

	mc303=mc03 - 3*(mc01*mc02)/mc00;


b2=[mc303 mc330 mc312 mc321 ];

pq=3;
b2=[mc303 mc330 mc312 mc321 ]/((vel(1)/2)^(pq));
% 3 4 5 6
if r>4
	mc50=mc(6,1);
	mc05=mc(1,6);
	mc40=mc(5,1);
	mc04=mc(1,5);
	mc41=mc(5,2);
	mc14=mc(2,5);
	mc32=mc(4,3);
	mc23=mc(3,4);
	mc31=mc(4,2);
	mc13=mc(2,4);
	mc22=mc(3,3);

	mc202=mc20*mc20;
	mc022=mc02*mc02;
	mc112=mc11*mc11;

	mc550=mc50 - 5*(2*mc20*mc30+mc10*mc40)/mc00+30*(mc10*mc202)/mc002;

	mc505=mc05 - 5*(2*mc02*mc03+mc01*mc04)/mc00+30*(mc01*mc022)/mc002;


	mc541=mc41 - (6*mc20*mc21+mc01*mc40+4*mc11*mc30+4*mc31*mc10)/mc00 + 6*(4*mc10*mc11*mc20+mc202*mc01)/mc002;

	mc514=mc14 - (6*mc02*mc12+mc10*mc04+4*mc11*mc03+4*mc13*mc01)/mc00 + 6*(4*mc01*mc11*mc02+mc022*mc10)/mc002;


	mc532=mc32 - 	(3*mc20*mc12+6*mc11*mc21+2*mc01*mc31+mc02*mc30+3*mc10*mc22)/mc00 + 6*(2*mc20*mc01*mc11+mc20*mc10*mc02+2*mc10*mc112)/mc002;

	mc523=mc23 - 	(3*mc02*mc21+6*mc11*mc12+2*mc10*mc13+mc20*mc03+3*mc01*mc22)/mc00 + 6*(2*mc02*mc10*mc11+mc02*mc01*mc20+2*mc01*mc112)/mc002;


b3=[ mc505 mc550 mc514 mc541 mc523 mc532 ];

pq=5;
b3=[ mc505 mc550 mc514 mc541 mc523 mc532 ]/((vel(1)/2)^(pq));


% 7 8 9 10 11 12
if r>6
	mc60=mc(7,1);
	mc06=mc(1,7);
	mc51=mc(6,2);
	mc15=mc(2,6);
	mc43=mc(5,4);
	mc34=mc(4,5);
	mc33=mc(4,4);
	mc70=mc(8,1);
	mc07=mc(1,8);
	mc61=mc(7,2);
	mc16=mc(2,7);
	mc52=mc(6,3);
	mc25=mc(3,6);
	mc42=mc(5,3);
	mc24=mc(3,5);

	mc203=mc202*mc20;
	mc023=mc022*mc02;
	mc113=mc112*mc11;

	mc770=mc70 - 7*(3*mc20*mc50+5*mc40*mc30+mc10*mc60)/mc00 + 210*(mc202*mc30+mc20*mc10*mc40)/mc002 - (630*mc203*mc10)/mc003;


	mc707=mc07 - 7*(3*mc02*mc05+5*mc04*mc03+mc01*mc06)/mc00 + 210*(mc022*mc03+mc02*mc01*mc04)/mc002 - (630*mc023*mc01)/mc003;


	mc761=mc61 - (15*mc20*mc41+15*mc40*mc21+mc01*mc60+6*mc11*mc50+20*mc31*mc30+6*mc10*mc51)/mc00+30*(3*mc202*mc21+mc20*mc01*mc40+4*mc20*mc11*mc30+2*mc11*mc40*mc10+4*mc20*mc31*mc10)/mc002	- 90*(mc203*mc01+6*mc11*mc10*mc202)/mc003;

	mc716=mc16 - (15*mc02*mc14+15*mc04*mc12+mc10*mc06+6*mc11*mc05+20*mc13*mc03+6*mc01*mc15)/mc00+30*(3*mc022*mc12+mc02*mc10*mc04+4*mc02*mc11*mc03+2*mc11*mc04*mc01+4*mc02*mc13*mc01)/mc002 - 90*(mc023*mc10+6*mc11*mc01*mc022)/mc003;


	mc752= mc52 - 	(10*mc20*mc32+5*mc40*mc12+10*mc11*mc41+20*mc31*mc21+2*mc51*mc01+mc02*mc50+10*mc22*mc30+5*mc10*mc42)/mc00+10*(3*mc12*mc202+12*mc11*mc21*mc20+4*mc20*mc01*mc31+2*mc20*mc02*mc30+6*mc20*mc10*mc22+2*mc40*mc01*mc11+mc40*mc10*mc02+4*mc112*mc30+8*mc31*mc10*mc11)/mc002-90*(2*mc202*mc01*mc11+mc202*mc10*mc02+4*mc20*mc112*mc10)/mc003;

	mc725= mc25 - 	(10*mc02*mc23+5*mc04*mc21+10*mc11*mc14+20*mc13*mc12+2*mc15*mc10+mc20*mc05+10*mc22*mc03+5*mc01*mc24)/mc00+10*(3*mc21*mc022+12*mc11*mc12*mc02+4*mc02*mc10*mc13+2*mc02*mc20*mc03+6*mc02*mc01*mc22+2*mc04*mc10*mc11+mc04*mc01*mc20+4*mc112*mc03+8*mc13*mc01*mc11)/mc002-90*(2*mc022*mc10*mc11+mc022*mc01*mc20+4*mc02*mc112*mc01)/mc003;


	mc743= mc43 - 	(6*mc20*mc23+mc40*mc03+12*mc11*mc32+12*mc31*mc12+3*mc02*mc41+18*mc22*mc21+3*mc42*mc01+4*mc13*mc30+4*mc10*mc33)/mc00+6*(6*mc20*mc02*mc21+12*mc20*mc11*mc12+4*mc20*mc10*mc13+mc202*mc03+6*mc20*mc01*mc22+mc40*mc01*mc02+12*mc112*mc21+8*mc11*mc01*mc31+4*mc11*mc02*mc30+12*mc11*mc10*mc22+4*mc31*mc10*mc02)/mc002-18*(12*mc20*mc02*mc10*mc11+3*mc202*mc02*mc01+12*mc20*mc112*mc01+8*mc10*mc113)/mc003;

	mc734= mc34 - 	(6*mc02*mc32+mc04*mc30+12*mc11*mc23+12*mc13*mc21+3*mc20*mc14+18*mc22*mc12+3*mc24*mc10+4*mc31*mc03+4*mc01*mc33)/mc00+6*(6*mc02*mc20*mc12+12*mc02*mc11*mc21+4*mc02*mc01*mc31+mc022*mc30+6*mc02*mc10*mc22+mc04*mc10*mc20+12*mc112*mc12+8*mc11*mc10*mc13+4*mc11*mc20*mc03+12*mc11*mc01*mc22+4*mc13*mc01*mc20)/mc002-18*(12*mc02*mc20*mc01*mc11+3*mc022*mc20*mc10+12*mc02*mc112*mc10+8*mc01*mc113)/mc003;


b4=[mc707 mc770 mc716 mc761 mc725 mc752  mc734 mc743  ];
% 13 14 15 16 17 18 19 20
pq = 7;
b4=[mc707 mc770 mc716 mc761 mc725 mc752  mc734 mc743  ]/((vel(1)/2)^(pq));


end;
end;
end;

b=[ b1 b2 b3 b4 mc00];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -