Saket Soni


back to prip
back to home


% clear all;
% band1 = imread ( 'ori\band1.gif' );
% band2 = imread ( 'ori\band2.gif' );
% band3 = imread ( 'ori\band3.gif' );
% band4 = imread ( 'ori\band4.gif' );
% 
% min1 = min(min(band1));
% min2 = min(min(band2));
% min3 = min(min(band3));
% min4 = min(min(band4));
% 
% max1 = max(max(band1));
% max2 = max(max(band2));
% max3 = max(max(band3));
% max4 = max(max(band4));
% 
% img1 = uint8 ( ( double(band1) - double(min1) ) * 255 / ( double(max1) - double(min1) ) );
% img2 = uint8 ( ( double(band2) - double(min2) ) * 255 / ( double(max2) - double(min2) ) );
% img3 = uint8 ( ( double(band3) - double(min3) ) * 255 / ( double(max3) - double(min3) ) );
% img4 = uint8 ( ( double(band4) - double(min4) ) * 240 / ( double(max4) - double(min4) ) );
% 
% clear band1; clear band2; clear band3; clear band4;
% clear min1; clear min2; clear min3; clear min4;
% clear max1; clear max2; clear max3; clear max4;
% 
% 
% part1 = uint16(zeros ( 512*512, 6 ));
% part2 = uint16(zeros ( 512*512, 6 ));
% part3 = uint16(zeros ( 512*512, 6 ));
% part4 = uint16(zeros ( 512*512, 6 ));
% part5 = uint16(zeros ( 512*512, 6 ));
% part6 = uint16(zeros ( 512*512, 6 ));
% p2c = 0;
% p1c = 0;
% p3c = 0;
% p4c = 0;
% p5c = 0;
% p6c = 0;
% for x = 1 : 512
%     for y = 1 : 512
%         r = rand ( 1, 1 );
%         if ( r < 0.16 )
%             p1c = p1c + 1;
%             part1( p1c, 1 ) = x;
%             part1( p1c, 2 ) = y;
%             part1( p1c, 3 ) = img1(x,y);
%             part1( p1c, 4 ) = img2(x,y);
%             part1( p1c, 5 ) = img3(x,y);
%             part1( p1c, 6 ) = img4(x,y);
%         else
%             if ( r < 0.32 )
%                 p2c = p2c + 1;
%                 part2( p2c, 1 ) = x;
%                 part2( p2c, 2 ) = y;
%                 part2( p2c, 3 ) = img1(x,y);
%                 part2( p2c, 4 ) = img2(x,y);
%                 part2( p2c, 5 ) = img3(x,y);
%                 part2( p2c, 6 ) = img4(x,y);
%             else
%                 if ( r < 0.48 )
%                     p3c = p3c + 1;
%                     part3( p3c, 1 ) = x;
%                     part3( p3c, 2 ) = y;
%                     part3( p3c, 3 ) = img1(x,y);
%                     part3( p3c, 4 ) = img2(x,y);
%                     part3( p3c, 5 ) = img3(x,y);
%                     part3( p3c, 6 ) = img4(x,y);
%                 else
%                     if ( r < 0.64 )
%                         p4c = p4c + 1;
%                         part4( p4c, 1 ) = x;
%                         part4( p4c, 2 ) = y;
%                         part4( p4c, 3 ) = img1(x,y);
%                         part4( p4c, 4 ) = img2(x,y);
%                         part4( p4c, 5 ) = img3(x,y);
%                         part4( p4c, 6 ) = img4(x,y);
%                     else
%                         if ( r < 0.80 )
%                             p5c = p5c + 1;
%                             part5( p5c, 1 ) = x;
%                             part5( p5c, 2 ) = y;
%                             part5( p5c, 3 ) = img1(x,y);
%                             part5( p5c, 4 ) = img2(x,y);
%                             part5( p5c, 5 ) = img3(x,y);
%                             part5( p5c, 6 ) = img4(x,y);
%                         else
%                             p6c = p6c + 1;
%                             part6( p6c, 1 ) = x;
%                             part6( p6c, 2 ) = y;
%                             part6( p6c, 3 ) = img1(x,y);
%                             part6( p6c, 4 ) = img2(x,y);
%                             part6( p6c, 5 ) = img3(x,y);
%                             part6( p6c, 6 ) = img4(x,y);
%                         end
%                     end
%                 end
%             end
%         end
%     end
% end
% 
% img = zeros ( 512, 512 );
% for c = 1 : p1c
%     img(uint16(part1(c,1)),uint16(part1(c,2))) = 255;
% end
% for c = 1 : p2c
%     img(uint16(part2(c,1)),uint16(part2(c,2))) = 200;
% end
% for c = 1 : p3c
%     img(uint16(part3(c,1)),uint16(part3(c,2))) = 1;
% end
% for c = 1 : p4c
%     img(uint16(part4(c,1)),uint16(part4(c,2))) = 150;
% end
% for c = 1 : p5c
%     img(uint16(part5(c,1)),uint16(part5(c,2))) = 100;
% end
% for c = 1 : p6c
%     img(uint16(part6(c,1)),uint16(part6(c,2))) = 50;
% end
% img = uint8 ( img );
% imshow ( img );
% 
% for n = 1 : 40
%     n
%     if p1c == 0
%         p1mean = [0, 0, 0, 0];
%     else
%     	p1mean = mean(part1(1:p1c,3:6));
%     end
%     if p2c == 0 
%         p2mean = [0, 0, 0, 0];
%     else
%     	p2mean = mean(part2(1:p2c,3:6));
%     end
%     if p3c == 0
%         p3mean = [0, 0, 0, 0];
%     else
%         p3mean = mean(part3(1:p3c,3:6));
%     end
%     if p4c == 0
%         p4mean = [0, 0, 0, 0];
%     else
%         p4mean = mean(part4(1:p4c,3:6));
%     end
%     if p5c == 0
%         p5mean = [0, 0, 0, 0];
%     else
%         p5mean = mean(part5(1:p5c,3:6));
%     end
%     if p6c == 0
%         p6mean = [0, 0, 0, 0];
%     else
%         p6mean = mean(part6(1:p6c,3:6));
%     end
% 	part1n = uint16(zeros( 512*512, 6 ));
% 	part2n = uint16(zeros( 512*512, 6 ));
% 	part3n = uint16(zeros( 512*512, 6 ));
% 	part4n = uint16(zeros( 512*512, 6 ));
%     part5n = uint16(zeros( 512*512, 6 ));
%     part6n = uint16(zeros( 512*512, 6 ));
% 	p1cn = 0;
%     p2cn = 0;
%     p3cn = 0;
%     p4cn = 0;
%     p5cn = 0;
%     p6cn = 0;
% 	mis = 0;
% 	for c = 1 : p1c
%         dis(1) = sqrt ( (double(part1(c,3))-p1mean(1))^2 + (double(part1(c,4))-p1mean(2))^2 + (double(part1(c,5))-p1mean(3))^2 + (double(part1(c,6))-p1mean(4))^2 );
%         dis(2) = sqrt ( (double(part1(c,3))-p2mean(1))^2 + (double(part1(c,4))-p2mean(2))^2 + (double(part1(c,5))-p2mean(3))^2 + (double(part1(c,6))-p2mean(4))^2 );
%         dis(3) = sqrt ( (double(part1(c,3))-p3mean(1))^2 + (double(part1(c,4))-p3mean(2))^2 + (double(part1(c,5))-p3mean(3))^2 + (double(part1(c,6))-p3mean(4))^2 );
%         dis(4) = sqrt ( (double(part1(c,3))-p4mean(1))^2 + (double(part1(c,4))-p4mean(2))^2 + (double(part1(c,5))-p4mean(3))^2 + (double(part1(c,6))-p4mean(4))^2 );
%         dis(5) = sqrt ( (double(part1(c,3))-p5mean(1))^2 + (double(part1(c,4))-p5mean(2))^2 + (double(part1(c,5))-p5mean(3))^2 + (double(part1(c,6))-p5mean(4))^2 );
%         dis(6) = sqrt ( (double(part1(c,3))-p6mean(1))^2 + (double(part1(c,4))-p6mean(2))^2 + (double(part1(c,5))-p6mean(3))^2 + (double(part1(c,6))-p6mean(4))^2 );
%         [ temp loc ] = min(dis);
%         switch loc 
%             case 1
%                 p1cn = p1cn + 1;
%                 part1n(p1cn,:) = part1(c,:);
%             case 2
%                 p2cn = p2cn + 1;
%                 part2n(p2cn,:) = part1(c,:);
%                 mis = mis + 1;
%             case 3
%                 p3cn = p3cn + 1;
%                 part3n(p3cn,:) = part1(c,:);
%                 mis = mis + 1;
%             case 4
%                 p4cn = p4cn + 1;
%                 part4n(p4cn,:) = part1(c,:);
%                 mis = mis + 1;
%             case 5
%                 p5cn = p5cn + 1;
%                 part5n(p5cn,:) = part1(c,:);
%                 mis = mis + 1;
%             case 6
%                 p6cn = p6cn + 1;
%                 part6n(p6cn,:) = part1(c,:);
%                 mis = mis + 1;
%         end
% 	end
% 	
% 	for c = 1 : p2c
%         dis(1) = sqrt ( (double(part2(c,3))-p1mean(1))^2 + (double(part2(c,4))-p1mean(2))^2 + (double(part2(c,5))-p1mean(3))^2 + (double(part2(c,6))-p1mean(4))^2 );
%         dis(2) = sqrt ( (double(part2(c,3))-p2mean(1))^2 + (double(part2(c,4))-p2mean(2))^2 + (double(part2(c,5))-p2mean(3))^2 + (double(part2(c,6))-p2mean(4))^2 );
%         dis(3) = sqrt ( (double(part2(c,3))-p3mean(1))^2 + (double(part2(c,4))-p3mean(2))^2 + (double(part2(c,5))-p3mean(3))^2 + (double(part2(c,6))-p3mean(4))^2 );
%         dis(4) = sqrt ( (double(part2(c,3))-p4mean(1))^2 + (double(part2(c,4))-p4mean(2))^2 + (double(part2(c,5))-p4mean(3))^2 + (double(part2(c,6))-p4mean(4))^2 );
%         dis(5) = sqrt ( (double(part2(c,3))-p5mean(1))^2 + (double(part2(c,4))-p5mean(2))^2 + (double(part2(c,5))-p5mean(3))^2 + (double(part2(c,6))-p5mean(4))^2 );
%         dis(6) = sqrt ( (double(part2(c,3))-p6mean(1))^2 + (double(part2(c,4))-p6mean(2))^2 + (double(part2(c,5))-p6mean(3))^2 + (double(part2(c,6))-p6mean(4))^2 );
%         [ temp loc ] = min(dis);
%         switch loc 
%             case 1
%                 p1cn = p1cn + 1;
%                 part1n(p1cn,:) = part2(c,:);
%                 mis = mis + 1;
%             case 2
%                 p2cn = p2cn + 1;
%                 part2n(p2cn,:) = part2(c,:);
%             case 3
%                 p3cn = p3cn + 1;
%                 part3n(p3cn,:) = part2(c,:);
%                 mis = mis + 1;
%             case 4
%                 p4cn = p4cn + 1;
%                 part4n(p4cn,:) = part2(c,:);
%                 mis = mis + 1;
%             case 5
%                 p5cn = p5cn + 1;
%                 part5n(p5cn,:) = part2(c,:);
%                 mis = mis + 1;              
%             case 6
%                 p6cn = p6cn + 1;
%                 part6n(p6cn,:) = part2(c,:);
%                 mis = mis + 1;                
%         end
% 	end
%     
% 	for c = 1 : p3c
%         dis(1) = sqrt ( (double(part3(c,3))-p1mean(1))^2 + (double(part3(c,4))-p1mean(2))^2 + (double(part3(c,5))-p1mean(3))^2 + (double(part3(c,6))-p1mean(4))^2 );
%         dis(2) = sqrt ( (double(part3(c,3))-p2mean(1))^2 + (double(part3(c,4))-p2mean(2))^2 + (double(part3(c,5))-p2mean(3))^2 + (double(part3(c,6))-p2mean(4))^2 );
%         dis(3) = sqrt ( (double(part3(c,3))-p3mean(1))^2 + (double(part3(c,4))-p3mean(2))^2 + (double(part3(c,5))-p3mean(3))^2 + (double(part3(c,6))-p3mean(4))^2 );
%         dis(4) = sqrt ( (double(part3(c,3))-p4mean(1))^2 + (double(part3(c,4))-p4mean(2))^2 + (double(part3(c,5))-p4mean(3))^2 + (double(part3(c,6))-p4mean(4))^2 );
%         dis(5) = sqrt ( (double(part3(c,3))-p5mean(1))^2 + (double(part3(c,4))-p5mean(2))^2 + (double(part3(c,5))-p5mean(3))^2 + (double(part3(c,6))-p5mean(4))^2 );
%         dis(6) = sqrt ( (double(part3(c,3))-p6mean(1))^2 + (double(part3(c,4))-p6mean(2))^2 + (double(part3(c,5))-p6mean(3))^2 + (double(part3(c,6))-p6mean(4))^2 );
%         [ temp loc ] = min(dis);
%         switch loc 
%             case 1
%                 p1cn = p1cn + 1;
%                 part1n(p1cn,:) = part3(c,:);
%                 mis = mis + 1;
%             case 2
%                 p2cn = p2cn + 1;
%                 part2n(p2cn,:) = part3(c,:);
%                 mis = mis + 1;
%             case 3
%                 p3cn = p3cn + 1;
%                 part3n(p3cn,:) = part3(c,:);
%             case 4
%                 p4cn = p4cn + 1;
%                 part4n(p4cn,:) = part3(c,:);
%                 mis = mis + 1;
%             case 5
%                 p5cn = p5cn + 1;
%                 part5n(p5cn,:) = part3(c,:);
%                 mis = mis + 1;
%            case 6
%                 p6cn = p6cn + 1;
%                 part6n(p6cn,:) = part3(c,:);
%                 mis = mis + 1;
%         end
% 	end
%   
%     for c = 1 : p4c
%         dis(1) = sqrt ( (double(part4(c,3))-p1mean(1))^2 + (double(part4(c,4))-p1mean(2))^2 + (double(part4(c,5))-p1mean(3))^2 + (double(part4(c,6))-p1mean(4))^2 );
%         dis(2) = sqrt ( (double(part4(c,3))-p2mean(1))^2 + (double(part4(c,4))-p2mean(2))^2 + (double(part4(c,5))-p2mean(3))^2 + (double(part4(c,6))-p2mean(4))^2 );
%         dis(3) = sqrt ( (double(part4(c,3))-p3mean(1))^2 + (double(part4(c,4))-p3mean(2))^2 + (double(part4(c,5))-p3mean(3))^2 + (double(part4(c,6))-p3mean(4))^2 );
%         dis(4) = sqrt ( (double(part4(c,3))-p4mean(1))^2 + (double(part4(c,4))-p4mean(2))^2 + (double(part4(c,5))-p4mean(3))^2 + (double(part4(c,6))-p4mean(4))^2 );
%         dis(5) = sqrt ( (double(part4(c,3))-p5mean(1))^2 + (double(part4(c,4))-p5mean(2))^2 + (double(part4(c,5))-p5mean(3))^2 + (double(part4(c,6))-p5mean(4))^2 );
%         dis(6) = sqrt ( (double(part4(c,3))-p6mean(1))^2 + (double(part4(c,4))-p6mean(2))^2 + (double(part4(c,5))-p6mean(3))^2 + (double(part4(c,6))-p6mean(4))^2 );
%         [ temp loc ] = min(dis);
%         switch loc 
%             case 1
%                 p1cn = p1cn + 1;
%                 part1n(p1cn,:) = part4(c,:);
%                 mis = mis + 1;
%             case 2
%                 p2cn = p2cn + 1;
%                 part2n(p2cn,:) = part4(c,:);
%                 mis = mis + 1;
%             case 3
%                 p3cn = p3cn + 1;
%                 part3n(p3cn,:) = part4(c,:);
%                 mis = mis + 1;                
%             case 4
%                 p4cn = p4cn + 1;
%                 part4n(p4cn,:) = part4(c,:);
%             case 5
%                 p5cn = p5cn + 1;
%                 part5n(p5cn,:) = part4(c,:);
%                 mis = mis + 1;
%            case 6
%                 p6cn = p6cn + 1;
%                 part6n(p6cn,:) = part4(c,:);
%                 mis = mis + 1;
%         end
% 	end
% 
%     for c = 1 : p5c
%         dis(1) = sqrt ( (double(part5(c,3))-p1mean(1))^2 + (double(part5(c,4))-p1mean(2))^2 + (double(part5(c,5))-p1mean(3))^2 + (double(part5(c,6))-p1mean(4))^2 );
%         dis(2) = sqrt ( (double(part5(c,3))-p2mean(1))^2 + (double(part5(c,4))-p2mean(2))^2 + (double(part5(c,5))-p2mean(3))^2 + (double(part5(c,6))-p2mean(4))^2 );
%         dis(3) = sqrt ( (double(part5(c,3))-p3mean(1))^2 + (double(part5(c,4))-p3mean(2))^2 + (double(part5(c,5))-p3mean(3))^2 + (double(part5(c,6))-p3mean(4))^2 );
%         dis(4) = sqrt ( (double(part5(c,3))-p4mean(1))^2 + (double(part5(c,4))-p4mean(2))^2 + (double(part5(c,5))-p4mean(3))^2 + (double(part5(c,6))-p4mean(4))^2 );
%         dis(5) = sqrt ( (double(part5(c,3))-p5mean(1))^2 + (double(part5(c,4))-p5mean(2))^2 + (double(part5(c,5))-p5mean(3))^2 + (double(part5(c,6))-p5mean(4))^2 );
%         dis(6) = sqrt ( (double(part5(c,3))-p6mean(1))^2 + (double(part5(c,4))-p6mean(2))^2 + (double(part5(c,5))-p6mean(3))^2 + (double(part5(c,6))-p6mean(4))^2 );
%         [ temp loc ] = min(dis);
%         switch loc 
%             case 1
%                 p1cn = p1cn + 1;
%                 part1n(p1cn,:) = part5(c,:);
%                 mis = mis + 1;
%             case 2
%                 p2cn = p2cn + 1;
%                 part2n(p2cn,:) = part5(c,:);
%                 mis = mis + 1;
%             case 3
%                 p3cn = p3cn + 1;
%                 part3n(p3cn,:) = part5(c,:);
%                 mis = mis + 1;                
%             case 4
%                 p4cn = p4cn + 1;
%                 part4n(p4cn,:) = part5(c,:);
%                 mis = mis + 1;     
%             case 5
%                 p5cn = p5cn + 1;
%                 part5n(p5cn,:) = part5(c,:);
%            case 6
%                 p6cn = p6cn + 1;
%                 part6n(p6cn,:) = part5(c,:);
%                 mis = mis + 1;
%         end
% 	end
%     
%     for c = 1 : p6c
%         dis(1) = sqrt ( (double(part6(c,3))-p1mean(1))^2 + (double(part6(c,4))-p1mean(2))^2 + (double(part6(c,5))-p1mean(3))^2 + (double(part6(c,6))-p1mean(4))^2 );
%         dis(2) = sqrt ( (double(part6(c,3))-p2mean(1))^2 + (double(part6(c,4))-p2mean(2))^2 + (double(part6(c,5))-p2mean(3))^2 + (double(part6(c,6))-p2mean(4))^2 );
%         dis(3) = sqrt ( (double(part6(c,3))-p3mean(1))^2 + (double(part6(c,4))-p3mean(2))^2 + (double(part6(c,5))-p3mean(3))^2 + (double(part6(c,6))-p3mean(4))^2 );
%         dis(4) = sqrt ( (double(part6(c,3))-p4mean(1))^2 + (double(part6(c,4))-p4mean(2))^2 + (double(part6(c,5))-p4mean(3))^2 + (double(part6(c,6))-p4mean(4))^2 );
%         dis(5) = sqrt ( (double(part6(c,3))-p5mean(1))^2 + (double(part6(c,4))-p5mean(2))^2 + (double(part6(c,5))-p5mean(3))^2 + (double(part6(c,6))-p5mean(4))^2 );
%         dis(6) = sqrt ( (double(part6(c,3))-p6mean(1))^2 + (double(part6(c,4))-p6mean(2))^2 + (double(part6(c,5))-p6mean(3))^2 + (double(part6(c,6))-p6mean(4))^2 );
%         [ temp loc ] = min(dis);
%         switch loc 
%             case 1
%                 p1cn = p1cn + 1;
%                 part1n(p1cn,:) = part6(c,:);
%                 mis = mis + 1;
%             case 2
%                 p2cn = p2cn + 1;
%                 part2n(p2cn,:) = part6(c,:);
%                 mis = mis + 1;
%             case 3
%                 p3cn = p3cn + 1;
%                 part3n(p3cn,:) = part6(c,:);
%                 mis = mis + 1;                
%             case 4
%                 p4cn = p4cn + 1;
%                 part4n(p4cn,:) = part6(c,:);
%                 mis = mis + 1;     
%             case 5
%                 p5cn = p5cn + 1;
%                 part5n(p5cn,:) = part6(c,:);
%            case 6
%                 p6cn = p6cn + 1;
%                 part6n(p6cn,:) = part6(c,:);
%                 mis = mis + 1;
%         end
% 	end
%     
% 	if mis == 0
%         disp 'mis-classification is zero ... !!!';
%         break;
% 	else
%         part1 = part1n;
%         part2 = part2n;
%         part3 = part3n;
%         part4 = part4n;
%         part5 = part5n;
%         part6 = part6n;
%         p1c = p1cn;
%         p2c = p2cn;
%         p3c = p3cn;
%         p4c = p4cn;
%         p5c = p5cn;
%         p6c = p6cn;
% 	end
% end

img = zeros ( 512, 512, 3 );
for c = 1 : p1c
%     img(uint16(part1(c,1)),uint16(part1(c,2)),1) = 255;
    img(uint16(part1(c,1)),uint16(part1(c,2)),1) = 0;
    img(uint16(part1(c,1)),uint16(part1(c,2)),2) = 78;
    img(uint16(part1(c,1)),uint16(part1(c,2)),3) = 152;
end
for c = 1 : p2c
%     img(uint16(part2(c,1)),uint16(part2(c,2)),1) = 200;
    img(uint16(part2(c,1)),uint16(part2(c,2)),1) = 0;
    img(uint16(part2(c,1)),uint16(part2(c,2)),2) = 255;
    img(uint16(part2(c,1)),uint16(part2(c,2)),3) = 128;
end
for c = 1 : p3c
%     img(uint16(part3(c,1)),uint16(part3(c,2)),1) = 1;
    img(uint16(part3(c,1)),uint16(part3(c,2)),1) = 128;
    img(uint16(part3(c,1)),uint16(part3(c,2)),2) = 128;
    img(uint16(part3(c,1)),uint16(part3(c,2)),3) = 255;
end
for c = 1 : p4c
%     img(uint16(part4(c,1)),uint16(part4(c,2)),1) = 150;
    img(uint16(part4(c,1)),uint16(part4(c,2)),1) = 255;
    img(uint16(part4(c,1)),uint16(part4(c,2)),2) = 128;
    img(uint16(part4(c,1)),uint16(part4(c,2)),3) = 64;
end
for c = 1 : p5c
%     img(uint16(part5(c,1)),uint16(part5(c,2)),1) = 100;
    img(uint16(part5(c,1)),uint16(part5(c,2)),1) = 192;
    img(uint16(part5(c,1)),uint16(part5(c,2)),2) = 192;
    img(uint16(part5(c,1)),uint16(part5(c,2)),3) = 192;
end
for c = 1 : p6c
%     img(uint16(part6(c,1)),uint16(part6(c,2)),1) = 50;
    img(uint16(part6(c,1)),uint16(part6(c,2)),1) = 128;
    img(uint16(part6(c,1)),uint16(part6(c,2)),2) = 64;
    img(uint16(part6(c,1)),uint16(part6(c,2)),3) = 0;
end
img = uint8 ( img );
imshow ( img );
imwrite ( img, 'http://www.geocities.com/saket_soni1980/assign/mts3/prip/kmeanout/p6r.bmp', 'bmp' );



back to prip
back to home

Locations of visitors to this page 1