clear; mark1=imread('1_mark.bmp','bmp'); mark2=imread('2_mark.bmp','bmp'); mark3=imread('3_mark.bmp','bmp'); pic1=double(imread('1.jpg','jpg')); pic2=double(imread('2.jpg','jpg')); pic3=double(imread('3.jpg','jpg')); [m,n]=size(mark1); k=1; for i=1:m for j=1:n if mark1(i,j)==255 %it is plate background r(k)=pic1(i,j,1); %get the R of RGB color g(k)=pic1(i,j,2); %get the G of RGB color b(k)=pic1(i,j,3); %get the B of RGB color k=k+1; end % if mark2(i,j)==255 %it is plate background % r(k)=pic2(i,j,1); %get the R of RGB color % g(k)=pic2(i,j,2); %get the G of RGB color % b(k)=pic2(i,j,3); %get the B of RGB color % k=k+1; % end if mark3(i,j)==255 %it is plate background r(k)=pic3(i,j,1); %get the R of RGB color g(k)=pic3(i,j,2); %get the G of RGB color b(k)=pic3(i,j,3); %get the B of RGB color k=k+1; end end end num=length(r); sumr=0; sumg=0; sumb=0; for i=1:num sumr=sumr+r(i); sumg=sumg+g(i); sumb=sumb+b(i); end meanr=sumr/num; meang=sumg/num; meanb=sumb/num; c=zeros(3,3); for i=1:num c(1,1)=c(1,1)+(r(i)-meanr)^2; c(1,2)=c(1,2)+(r(i)-meanr)*(g(i)-meang); c(1,3)=c(1,3)+(r(i)-meanr)*(b(i)-meanb); c(2,2)=c(2,2)+(g(i)-meang)^2; c(2,3)=c(2,3)+(g(i)-meang)*(b(i)-meanb); c(3,3)=c(3,3)+(b(i)-meanb)^2; end c(2,1)=c(1,2);c(3,1)=c(1,3);c(3,2)=c(2,3); c=c/num; c=inv(c); save color_m c; % plot3(r,g,b,'b.'); % k=1;n=100; % for rr=1:n % for gg=1:n % for bb=1:n % d=[rr gg bb]*c*[rr gg bb]'; % if d < 100 % rrr(k)=rr;ggg(k)=gg;bbb(k)=bb; % k=k+1; % end % end % end % end % figure,plot3(rrr,ggg,bbb,'r.');